xref: /aosp_15_r20/external/llvm/test/tools/llvm-pdbdump/class-layout.test (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-pdbdump pretty -all %p/Inputs/ClassLayoutTest.pdb > %t
2*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -input-file=%t %s -check-prefix=GLOBALS_TEST
3*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -input-file=%t %s -check-prefix=MEMBERS_TEST
4*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -input-file=%t %s -check-prefix=BASE_CLASS_A
5*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -input-file=%t %s -check-prefix=BASE_CLASS_B
6*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -input-file=%t %s -check-prefix=BASE_CLASS_C
7*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -input-file=%t %s -check-prefix=BASE_CLASS_D
8*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -input-file=%t %s -check-prefix=UDT_KIND_TEST
9*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -input-file=%t %s -check-prefix=BITFIELD_TEST
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker; GLOBALS_TEST: ---GLOBALS---
12*9880d681SAndroid Build Coastguard Worker; GLOBALS_TEST-DAG: int GlobalsTest::IntVar
13*9880d681SAndroid Build Coastguard Worker; GLOBALS_TEST-DAG: double GlobalsTest::DoubleVar
14*9880d681SAndroid Build Coastguard Worker; GLOBALS_TEST-DAG: GlobalsTest::Enum GlobalsTest::EnumVar
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Worker; MEMBERS_TEST: ---TYPES---
17*9880d681SAndroid Build Coastguard Worker; MEMBERS_TEST: class MembersTest::A {
18*9880d681SAndroid Build Coastguard Worker; MEMBERS_TEST-DAG: typedef int NestedTypedef
19*9880d681SAndroid Build Coastguard Worker; MEMBERS_TEST-DAG: enum NestedEnum
20*9880d681SAndroid Build Coastguard Worker; MEMBERS_TEST: public:
21*9880d681SAndroid Build Coastguard Worker; MEMBERS_TEST-NEXT: void MemberFunc()
22*9880d681SAndroid Build Coastguard Worker; MEMBERS_TEST-NEXT: private:
23*9880d681SAndroid Build Coastguard Worker; MEMBERS_TEST-DAG: int IntMemberVar
24*9880d681SAndroid Build Coastguard Worker; MEMBERS_TEST-DAG: double DoubleMemberVar
25*9880d681SAndroid Build Coastguard Worker; MEMBERS_TEST: }
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_A: ---TYPES---
28*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_A: class BaseClassTest::A {}
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_B: ---TYPES---
31*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_B: class BaseClassTest::B
32*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_B-NEXT: : public virtual BaseClassTest::A {
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_C: ---TYPES---
35*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_C: class BaseClassTest::C
36*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_C-NEXT: : public virtual BaseClassTest::A {
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_D: ---TYPES---
39*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_D: class BaseClassTest::D
40*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_D-DAG: protected BaseClassTest::B
41*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_D-DAG: private BaseClassTest::C
42*9880d681SAndroid Build Coastguard Worker; BASE_CLASS_D-DAG: protected virtual BaseClassTest::A
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker; UDT_KIND_TEST: ---TYPES---
45*9880d681SAndroid Build Coastguard Worker; UDT_KIND_TEST-DAG: union UdtKindTest::C {}
46*9880d681SAndroid Build Coastguard Worker; UDT_KIND_TEST-DAG: class UdtKindTest::B {}
47*9880d681SAndroid Build Coastguard Worker; UDT_KIND_TEST-DAG: struct UdtKindTest::A {}
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Worker; BITFIELD_TEST: ---TYPES---
50*9880d681SAndroid Build Coastguard Worker; BITFIELD_TEST: struct BitFieldTest::A {
51*9880d681SAndroid Build Coastguard Worker; BITFIELD_TEST-NEXT: public:
52*9880d681SAndroid Build Coastguard Worker; BITFIELD_TEST-NEXT: +0x00 int Bits1 : 1
53*9880d681SAndroid Build Coastguard Worker; BITFIELD_TEST-NEXT: +0x00 int Bits2 : 2
54*9880d681SAndroid Build Coastguard Worker; BITFIELD_TEST-NEXT: +0x00 int Bits3 : 3
55*9880d681SAndroid Build Coastguard Worker; BITFIELD_TEST-NEXT: +0x00 int Bits4 : 4
56*9880d681SAndroid Build Coastguard Worker; BITFIELD_TEST-NEXT: +0x00 int Bits22 : 22
57*9880d681SAndroid Build Coastguard Worker; BITFIELD_TEST-NEXT: +0x04 int Offset0x04
58