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.

llvm-svn: 200670
This commit is contained in:
David Majnemer 2014-02-03 00:29:57 +00:00
parent e7f9759fd9
commit 04606bda08
3 changed files with 32 additions and 33 deletions

View File

@ -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) +

View File

@ -362,14 +362,14 @@ struct KB : KA { __declspec(align(2)) char a; };
// 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)+

View File

@ -203,16 +203,16 @@ struct BX : B0X, B1X { int a; BX() : a(0xf000000B) {} virtual void g() { printf(
// 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(0xf000000C) {} virtual void g() { printf(
// 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)