forked from OSchip/llvm-project
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:
parent
e7f9759fd9
commit
04606bda08
|
@ -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) +
|
||||
|
|
|
@ -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)+
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue