================
@@ -1302,6 +1302,7 @@ ItaniumRecordLayoutBuilder::LayoutBase(const 
BaseSubobjectInfo *Base) {
     setSize(std::max(getSize(), Offset + Layout.getSize()));
 
   // Remember max struct/class alignment.
+  UnadjustedAlignment = std::max(UnadjustedAlignment, PreferredBaseAlign);
----------------
hvdijk wrote:

>From what I can see from the Clang code, for non-HFAs/HVAs, yes, the alignment 
>of the composite type is used rather than the natural alignment, however for 
>HFAs/HVAs, the alignment of the element type is used without regard to the 
>alignment of the composite type. However, this does not seem like it makes any 
>difference because Darwin doesn't have that rule that 16-byte-aligned types 
>are allocated to even-numbered registers anyway, 
>https://godbolt.org/z/qhbYo9c8M

https://github.com/llvm/llvm-project/pull/135564
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to