Recommit "rL366894: [yaml2obj] - Allow custom fields for the SHT_UNDEF sections."
[llvm-complete.git] / test / tools / llvm-pdbutil / complex-padding-graphical.test
blob42511db95ffc5ba800bfd19514a0a8cf437d7960
1 ; REQUIRES: diasdk\r
2 \r
3 ; RUN: llvm-pdbutil pretty -classes -class-definitions=layout \\r
4 ; RUN:     -include-types=Test %p/Inputs/ComplexPaddingTest.pdb > %t\r
5 \r
6 ; RUN: FileCheck -input-file=%t %s -check-prefix=DIRECT_VB_ONLY\r
7 ; RUN: FileCheck -input-file=%t %s -check-prefix=DIRECT_VB_AND_NON_VB\r
8 ; RUN: FileCheck -input-file=%t %s -check-prefix=INDIRECT_VB\r
9 ; RUN: FileCheck -input-file=%t %s -check-prefix=INDIRECT_AND_DIRECT_VB\r
12 ; DIRECT_VB_ONLY:      struct TestIVBBase [sizeof = 16]\r
13 ; DIRECT_VB_ONLY-NEXT:   : public virtual TestVB {\r
14 ; DIRECT_VB_ONLY-NEXT:   vbptr +0x00 [sizeof=4]\r
15 ; DIRECT_VB_ONLY-NEXT:   data +0x04 [sizeof=4] int A\r
16 ; DIRECT_VB_ONLY-NEXT:   vbase +0x08 [sizeof=8] TestVB\r
17 ; DIRECT_VB_ONLY-NEXT:     vfptr +0x08 [sizeof=4]\r
18 ; DIRECT_VB_ONLY-NEXT:     data +0x0c [sizeof=4] int X\r
19 ; DIRECT_VB_ONLY-NEXT: }\r
21 DIRECT_VB_AND_NON_VB:      struct TestVBLayout [sizeof = 24]\r
22 DIRECT_VB_AND_NON_VB-NEXT:   : public TestNVB\r
23 DIRECT_VB_AND_NON_VB-NEXT:   , public virtual TestVB {\r
24 DIRECT_VB_AND_NON_VB-NEXT:   base +0x00 [sizeof=8] TestNVB\r
25 DIRECT_VB_AND_NON_VB-NEXT:     vfptr +0x00 [sizeof=4]\r
26 DIRECT_VB_AND_NON_VB-NEXT:     data +0x04 [sizeof=4] int Y\r
27 DIRECT_VB_AND_NON_VB-NEXT:   vbptr +0x08 [sizeof=4]\r
28 DIRECT_VB_AND_NON_VB-NEXT:   data +0x0c [sizeof=4] int Z\r
29 DIRECT_VB_AND_NON_VB-NEXT:   vbase +0x10 [sizeof=8] TestVB\r
30 DIRECT_VB_AND_NON_VB-NEXT:     vfptr +0x10 [sizeof=4]\r
31 DIRECT_VB_AND_NON_VB-NEXT:     data +0x14 [sizeof=4] int X\r
32 DIRECT_VB_AND_NON_VB-NEXT: }\r
34 INDIRECT_VB:      struct TestIVBDerived [sizeof = 20]\r
35 INDIRECT_VB-NEXT:   : public TestIVBBase {\r
36 INDIRECT_VB-NEXT:   base +0x00 [sizeof=8] TestIVBBase\r
37 INDIRECT_VB-NEXT:     vbptr +0x00 [sizeof=4]\r
38 INDIRECT_VB-NEXT:     data +0x04 [sizeof=4] int A\r
39 INDIRECT_VB-NEXT:   data +0x08 [sizeof=4] int B\r
40 INDIRECT_VB-NEXT:   ivbase +0x0c [sizeof=8] TestVB\r
41 INDIRECT_VB-NEXT:     vfptr +0x0c [sizeof=4]\r
42 INDIRECT_VB-NEXT:     data +0x10 [sizeof=4] int X\r
43 INDIRECT_VB-NEXT: }\r
45 INDIRECT_AND_DIRECT_VB:      struct TestIVBMergedDerived [sizeof = 20]\r
46 INDIRECT_AND_DIRECT_VB-NEXT:   : public TestIVBBase\r
47 INDIRECT_AND_DIRECT_VB-NEXT:   , public virtual TestVB {\r
48 INDIRECT_AND_DIRECT_VB-NEXT:   base +0x00 [sizeof=8] TestIVBBase\r
49 INDIRECT_AND_DIRECT_VB-NEXT:     vbptr +0x00 [sizeof=4]\r
50 INDIRECT_AND_DIRECT_VB-NEXT:     data +0x04 [sizeof=4] int A\r
51 INDIRECT_AND_DIRECT_VB-NEXT:   data +0x08 [sizeof=4] int B\r
52 INDIRECT_AND_DIRECT_VB-NEXT:   vbase +0x0c [sizeof=8] TestVB\r
53 INDIRECT_AND_DIRECT_VB-NEXT:     vfptr +0x0c [sizeof=4]\r
54 INDIRECT_AND_DIRECT_VB-NEXT:     data +0x10 [sizeof=4] int X\r
55 INDIRECT_AND_DIRECT_VB-NEXT: }\r