Fix a bug in test case -- duplicate entries
[oota-llvm.git] / test / tools / llvm-pdbdump / class-layout.test
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
10 \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
15 \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
25 ; MEMBERS_TEST: }\r
26 \r
27 ; BASE_CLASS_A: ---TYPES---\r
28 ; BASE_CLASS_A: class BaseClassTest::A {}\r
29 \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
33 \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
37 \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
43 \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
48 \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