[PATCH] D95822: [FE][AIX] Use i8 as guard variable type in both load and store operation

Xiangling Liao via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 2 11:29:39 PST 2021


Xiangling_L marked 2 inline comments as done.
Xiangling_L added inline comments.


================
Comment at: clang/test/CodeGenCXX/aix-static-init-temp-spec-and-inline-var.cpp:193
 // CHECK:   %1 = call i32 @atexit(void ()* @__dtor__ZN5test12t1IiEE)
-// CHECK:   store i64 1, i64* @_ZGVN5test12t1IiEE
 // CHECK:   br label %init.end
----------------
hubert.reinterpretcast wrote:
> Okay, so the store here is wrong, but it's got nothing to do with AIX.
> 
> The ABI doc (http://itanium-cxx-abi.github.io/cxx-abi/abi.html#once-ctor) says:
> > the first byte (i.e., the byte with lowest address)
> 
> So the bug here seems to be that the Itanium ABI implementation in Clang is incorrect for big-endian systems.
That makes sense to me. I will update the patch accordingly.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95822/new/

https://reviews.llvm.org/D95822



More information about the cfe-commits mailing list