r200670 - MS ABI: Fix some layout tests

David Majnemer david.majnemer at gmail.com
Sun Feb 2 16:29:57 PST 2014


Author: majnemer
Date: Sun Feb  2 18:29:57 2014
New Revision: 200670

URL: http://llvm.org/viewvc/llvm-project?rev=200670&view=rev
Log:
MS ABI: Fix some layout tests

Some lines intended to be used for testing x86_64 ABI compatibility were
not firing because lines were annotated with the wrong FileCheck prefix:
X64 vs x64

N.B. Changes beyond just changing x64 to X64 were made, presumably
because other parts of the layout engine have changed.  I've verified
the changes to make sure that MSVC creates a compatible layout.

Modified:
    cfe/trunk/test/Layout/ms-x86-alias-avoidance-padding.cpp
    cfe/trunk/test/Layout/ms-x86-pack-and-align.cpp
    cfe/trunk/test/Layout/ms-x86-primary-bases.cpp

Modified: cfe/trunk/test/Layout/ms-x86-alias-avoidance-padding.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-alias-avoidance-padding.cpp?rev=200670&r1=200669&r2=200670&view=diff
==============================================================================
--- cfe/trunk/test/Layout/ms-x86-alias-avoidance-padding.cpp (original)
+++ cfe/trunk/test/Layout/ms-x86-alias-avoidance-padding.cpp Sun Feb  2 18:29:57 2014
@@ -283,20 +283,20 @@ struct JC4 : JC1, JC2 {
 // CHECK-NEXT:   12 |       struct JC0 (base) (empty)
 // CHECK-NEXT:      | [sizeof=12, align=4
 // CHECK-NEXT:      |  nvsize=12, nvalign=4]
-// CHECK-x64: *** Dumping AST Record Layout
-// CHECK-x64: *** Dumping AST Record Layout
-// CHECK-x64: *** Dumping AST Record Layout
-// CHECK-x64: *** Dumping AST Record Layout
-// CHECK-x64-NEXT:    0 | struct JC4
-// CHECK-x64-NEXT:    0 |   struct JC1 (primary base)
-// CHECK-x64-NEXT:    0 |     (JC1 vftable pointer)
-// CHECK-x64-NEXT:    8 |     struct JC0 (base) (empty)
-// CHECK-x64-NEXT:   16 |   struct JC2 (base)
-// CHECK-x64-NEXT:   16 |     struct JC1 (primary base)
-// CHECK-x64-NEXT:   16 |       (JC1 vftable pointer)
-// CHECK-x64-NEXT:   24 |       struct JC0 (base) (empty)
-// CHECK-x64-NEXT:      | [sizeof=24, align=8
-// CHECK-x64-NEXT:      |  nvsize=24, nvalign=8]
+// CHECK-X64: *** Dumping AST Record Layout
+// CHECK-X64: *** Dumping AST Record Layout
+// CHECK-X64: *** Dumping AST Record Layout
+// CHECK-X64: *** Dumping AST Record Layout
+// CHECK-X64-NEXT:    0 | struct JC4
+// CHECK-X64-NEXT:    0 |   struct JC1 (primary base)
+// CHECK-X64-NEXT:    0 |     (JC1 vftable pointer)
+// CHECK-X64-NEXT:    8 |     struct JC0 (base) (empty)
+// CHECK-X64-NEXT:   16 |   struct JC2 (base)
+// CHECK-X64-NEXT:   16 |     struct JC1 (primary base)
+// CHECK-X64-NEXT:   16 |       (JC1 vftable pointer)
+// CHECK-X64-NEXT:   24 |       struct JC0 (base) (empty)
+// CHECK-X64-NEXT:      | [sizeof=24, align=8
+// CHECK-X64-NEXT:      |  nvsize=24, nvalign=8]
 
 int a[
 sizeof(AT3) +

Modified: cfe/trunk/test/Layout/ms-x86-pack-and-align.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-pack-and-align.cpp?rev=200670&r1=200669&r2=200670&view=diff
==============================================================================
--- cfe/trunk/test/Layout/ms-x86-pack-and-align.cpp (original)
+++ cfe/trunk/test/Layout/ms-x86-pack-and-align.cpp Sun Feb  2 18:29:57 2014
@@ -362,14 +362,14 @@ struct KB : KA { __declspec(align(2)) ch
 // CHECK-NEXT:    2 |   char a
 // CHECK-NEXT:      | [sizeof=4, align=2
 // CHECK-NEXT:      |  nvsize=3, nvalign=2]
-// CHECK-x64: *** Dumping AST Record Layout
-// CHECK-x64: *** Dumping AST Record Layout
-// CHECK-x64-NEXT:    0 | struct KB
-// CHECK-x64-NEXT:    0 |   struct KA (base)
-// CHECK-x64-NEXT:    0 |     char a
-// CHECK-x64-NEXT:    2 |   char a
-// CHECK-x64-NEXT:      | [sizeof=4, align=2
-// CHECK-x64-NEXT:      |  nvsize=3, nvalign=2]
+// CHECK-X64: *** Dumping AST Record Layout
+// CHECK-X64: *** Dumping AST Record Layout
+// CHECK-X64-NEXT:    0 | struct KB
+// CHECK-X64-NEXT:    0 |   struct KA (base)
+// CHECK-X64-NEXT:    0 |     char a
+// CHECK-X64-NEXT:    2 |   char a
+// CHECK-X64-NEXT:      | [sizeof=4, align=2
+// CHECK-X64-NEXT:      |  nvsize=3, nvalign=2]
 
 int a[
 sizeof(X)+

Modified: cfe/trunk/test/Layout/ms-x86-primary-bases.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-primary-bases.cpp?rev=200670&r1=200669&r2=200670&view=diff
==============================================================================
--- cfe/trunk/test/Layout/ms-x86-primary-bases.cpp (original)
+++ cfe/trunk/test/Layout/ms-x86-primary-bases.cpp Sun Feb  2 18:29:57 2014
@@ -203,16 +203,16 @@ struct BX : B0X, B1X { int a; BX() : a(0
 // CHECK-NEXT:   12 |   int a
 // CHECK-NEXT:      | [sizeof=16, align=4
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]
-// CHECK-x64: *** Dumping AST Record Layout
-// CHECK-x64-NEXT:    0 | struct BX
-// CHECK-x64-NEXT:   16 |   struct B0X (base)
-// CHECK-x64-NEXT:   16 |     int a
-// CHECK-x64-NEXT:    0 |   struct B1X (primary base)
-// CHECK-x64-NEXT:    0 |     (B1X vftable pointer)
-// CHECK-x64-NEXT:    8 |     int a
-// CHECK-x64-NEXT:   24 |   int a
-// CHECK-x64-NEXT:      | [sizeof=24, align=8
-// CHECK-x64-NEXT:      |  nvsize=24, nvalign=8]
+// CHECK-X64: *** Dumping AST Record Layout
+// CHECK-X64-NEXT:    0 | struct BX
+// CHECK-X64-NEXT:   16 |   struct B0X (base)
+// CHECK-X64-NEXT:   16 |     int a
+// CHECK-X64-NEXT:    0 |   struct B1X (primary base)
+// CHECK-X64-NEXT:    0 |     (B1X vftable pointer)
+// CHECK-X64-NEXT:    8 |     int a
+// CHECK-X64-NEXT:   20 |   int a
+// CHECK-X64-NEXT:      | [sizeof=24, align=8
+// CHECK-X64-NEXT:      |  nvsize=24, nvalign=8]
 
 struct CX : B0X, B2X { int a; CX() : a(0xf000000C) {} virtual void g() { printf("C"); } };
 
@@ -233,7 +233,6 @@ struct CX : B0X, B2X { int a; CX() : a(0
 // CHECK-NEXT:      |  nvsize=20, nvalign=4]
 // CHECK-X64: *** Dumping AST Record Layout
 // CHECK-X64: *** Dumping AST Record Layout
-// CHECK-X64: *** Dumping AST Record Layout
 // CHECK-X64-NEXT:    0 | struct CX
 // CHECK-X64-NEXT:    0 |   (CX vftable pointer)
 // CHECK-X64-NEXT:    8 |   struct B0X (base)





More information about the cfe-commits mailing list