rsmith added a subscriber: rsmith.
rsmith added a comment.

GCC's behavior (`aligned` on a field specifies the alignment of the start of 
that field) makes a little more sense to me than Clang's behavior (the type and 
alignment of a field specify a flavour of storage unit, and the field goes in 
the next such storage unit that it fits into), but both seem defensible.

John, are we intentionally deviating from GCC's behaviour here?


================
Comment at: lib/AST/RecordLayoutBuilder.cpp:1606
@@ -1605,1 +1605,3 @@
+    } else if (ExplicitFieldAlign)
+      FieldOffset = llvm::RoundUpToAlignment(FieldOffset, ExplicitFieldAlign);
 
----------------
You should round up to `FieldAlign` here.


http://reviews.llvm.org/D14980



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to