[cfe-commits] r82828 - in /cfe/trunk: lib/AST/RecordLayoutBuilder.cpp test/SemaCXX/empty-class-layout.cpp

Anders Carlsson andersca at mac.com
Fri Sep 25 18:09:36 PDT 2009


Author: andersca
Date: Fri Sep 25 20:09:35 2009
New Revision: 82828

URL: http://llvm.org/viewvc/llvm-project?rev=82828&view=rev
Log:
Use NextOffset when laying out a field.

Modified:
    cfe/trunk/lib/AST/RecordLayoutBuilder.cpp
    cfe/trunk/test/SemaCXX/empty-class-layout.cpp

Modified: cfe/trunk/lib/AST/RecordLayoutBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/RecordLayoutBuilder.cpp?rev=82828&r1=82827&r2=82828&view=diff

==============================================================================
--- cfe/trunk/lib/AST/RecordLayoutBuilder.cpp (original)
+++ cfe/trunk/lib/AST/RecordLayoutBuilder.cpp Fri Sep 25 20:09:35 2009
@@ -513,7 +513,7 @@
 
 void ASTRecordLayoutBuilder::LayoutField(const FieldDecl *D) {
   bool FieldPacked = Packed;
-  uint64_t FieldOffset = IsUnion ? 0 : Size;
+  uint64_t FieldOffset = IsUnion ? 0 : NextOffset;
   uint64_t FieldSize;
   unsigned FieldAlign;
 

Modified: cfe/trunk/test/SemaCXX/empty-class-layout.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/empty-class-layout.cpp?rev=82828&r1=82827&r2=82828&view=diff

==============================================================================
--- cfe/trunk/test/SemaCXX/empty-class-layout.cpp (original)
+++ cfe/trunk/test/SemaCXX/empty-class-layout.cpp Fri Sep 25 20:09:35 2009
@@ -57,3 +57,8 @@
 
 struct S6 : S5 { };
 SA(10, sizeof(S6) == 2);
+
+struct S7 : Empty {
+  void *v;
+};
+SA(11, sizeof(S7) == 8);





More information about the cfe-commits mailing list