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