Home | History | Annotate | Download | only in llvm-pdbdump
      1 ; RUN: llvm-pdbdump -all %p/Inputs/ClassLayoutTest.pdb > %t
      2 ; 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
     20 ; MEMBERS_TEST: public:
     21 ; MEMBERS_TEST-NEXT: void MemberFunc()
     22 ; MEMBERS_TEST-NEXT: private:
     23 ; MEMBERS_TEST-DAG: int IntMemberVar
     24 ; MEMBERS_TEST-DAG: double DoubleMemberVar
     25 ; MEMBERS_TEST: }
     26 
     27 ; BASE_CLASS_A: ---TYPES---
     28 ; BASE_CLASS_A: class BaseClassTest::A {}
     29 
     30 ; BASE_CLASS_B: ---TYPES---
     31 ; BASE_CLASS_B: class BaseClassTest::B
     32 ; BASE_CLASS_B-NEXT: : public virtual BaseClassTest::A {
     33 
     34 ; BASE_CLASS_C: ---TYPES---
     35 ; BASE_CLASS_C: class BaseClassTest::C
     36 ; BASE_CLASS_C-NEXT: : public virtual BaseClassTest::A {
     37 
     38 ; BASE_CLASS_D: ---TYPES---
     39 ; BASE_CLASS_D: class BaseClassTest::D
     40 ; BASE_CLASS_D-DAG: protected BaseClassTest::B
     41 ; BASE_CLASS_D-DAG: private BaseClassTest::C
     42 ; BASE_CLASS_D-DAG: protected virtual BaseClassTest::A
     43 
     44 ; UDT_KIND_TEST: ---TYPES---
     45 ; UDT_KIND_TEST-DAG: union UdtKindTest::C {}
     46 ; UDT_KIND_TEST-DAG: class UdtKindTest::B {}
     47 ; UDT_KIND_TEST-DAG: struct UdtKindTest::A {}
     48 
     49 ; BITFIELD_TEST: ---TYPES---
     50 ; BITFIELD_TEST: struct BitFieldTest::A {
     51 ; BITFIELD_TEST-NEXT: public:
     52 ; BITFIELD_TEST-NEXT: +0x00 int Bits1 : 1
     53 ; BITFIELD_TEST-NEXT: +0x00 int Bits2 : 2
     54 ; BITFIELD_TEST-NEXT: +0x00 int Bits3 : 3
     55 ; BITFIELD_TEST-NEXT: +0x00 int Bits4 : 4
     56 ; BITFIELD_TEST-NEXT: +0x00 int Bits22 : 22
     57 ; BITFIELD_TEST-NEXT: +0x04 int Offset0x04
     58