blob: e2921d298fce2ab16618a8ef7d0e688b794f6ac6 [file] [log] [blame]
Zachary Turnera30bd1a2016-06-30 17:42:48 +00001; RUN: llvm-pdbdump pretty -all %p/Inputs/ClassLayoutTest.pdb > %t
Dimitry Andric227b9282016-01-03 17:22:03 +00002; RUN: FileCheck -input-file=%t %s -check-prefix=GLOBALS_TEST
3; RUN: FileCheck -input-file=%t %s -check-prefix=MEMBERS_TEST
4; RUN: FileCheck -input-file=%t %s -check-prefix=BASE_CLASS_A
5; RUN: FileCheck -input-file=%t %s -check-prefix=BASE_CLASS_B
6; RUN: FileCheck -input-file=%t %s -check-prefix=BASE_CLASS_C
7; RUN: FileCheck -input-file=%t %s -check-prefix=BASE_CLASS_D
8; RUN: FileCheck -input-file=%t %s -check-prefix=UDT_KIND_TEST
9; RUN: FileCheck -input-file=%t %s -check-prefix=BITFIELD_TEST
10
11; GLOBALS_TEST: ---GLOBALS---
12; GLOBALS_TEST-DAG: int GlobalsTest::IntVar
13; GLOBALS_TEST-DAG: double GlobalsTest::DoubleVar
14; GLOBALS_TEST-DAG: GlobalsTest::Enum GlobalsTest::EnumVar
15
16; MEMBERS_TEST: ---TYPES---
17; MEMBERS_TEST: class MembersTest::A {
18; MEMBERS_TEST-DAG: typedef int NestedTypedef
19; MEMBERS_TEST-DAG: enum NestedEnum
Zachary Turner10169b62017-04-06 23:43:39 +000020; MEMBERS_TEST: void MemberFunc()
Dimitry Andric227b9282016-01-03 17:22:03 +000021; MEMBERS_TEST-DAG: int IntMemberVar
22; MEMBERS_TEST-DAG: double DoubleMemberVar
23; MEMBERS_TEST: }
24
25; BASE_CLASS_A: ---TYPES---
26; BASE_CLASS_A: class BaseClassTest::A {}
27
28; BASE_CLASS_B: ---TYPES---
29; BASE_CLASS_B: class BaseClassTest::B
30; BASE_CLASS_B-NEXT: : public virtual BaseClassTest::A {
31
32; BASE_CLASS_C: ---TYPES---
33; BASE_CLASS_C: class BaseClassTest::C
34; BASE_CLASS_C-NEXT: : public virtual BaseClassTest::A {
35
36; BASE_CLASS_D: ---TYPES---
37; BASE_CLASS_D: class BaseClassTest::D
38; BASE_CLASS_D-DAG: protected BaseClassTest::B
39; BASE_CLASS_D-DAG: private BaseClassTest::C
40; BASE_CLASS_D-DAG: protected virtual BaseClassTest::A
41
42; UDT_KIND_TEST: ---TYPES---
43; UDT_KIND_TEST-DAG: union UdtKindTest::C {}
44; UDT_KIND_TEST-DAG: class UdtKindTest::B {}
45; UDT_KIND_TEST-DAG: struct UdtKindTest::A {}
46
47; BITFIELD_TEST: ---TYPES---
48; BITFIELD_TEST: struct BitFieldTest::A {
Zachary Turner0c990bbe2017-04-10 19:33:29 +000049; BITFIELD_TEST-NEXT: +0x00 [sizeof=4] int Bits1 : 1
50; BITFIELD_TEST-NEXT: +0x00 [sizeof=4] int Bits2 : 2
51; BITFIELD_TEST-NEXT: +0x00 [sizeof=4] int Bits3 : 3
52; BITFIELD_TEST-NEXT: +0x00 [sizeof=4] int Bits4 : 4
53; BITFIELD_TEST-NEXT: +0x00 [sizeof=4] int Bits22 : 22
54; BITFIELD_TEST-NEXT: +0x04 [sizeof=4] int Offset0x04