; RUN: llvm-pdbdump -symbols %p/Inputs/symbolformat.pdb | FileCheck --check-prefix=SYM_FORMAT %s ; RUN: llvm-pdbdump -types %p/Inputs/symbolformat.pdb | FileCheck --check-prefix=TYPES_FORMAT %s ; RUN: llvm-pdbdump -types -class-definitions %p/Inputs/symbolformat.pdb | FileCheck --check-prefix=FULL_CLASS %s ; The format is func [0x+ - 0x-] ; SYM_FORMAT: symbolformat-fpo.obj ; SYM_FORMAT-DAG: func [0x001130+0 - 0x001137-1] (FPO) uint32_t __cdecl fpo_func(uint32_t n) ; SYM_FORMAT: symbolformat.obj ; SYM_FORMAT-DAG: func [0x001140+3 - 0x001147-2] (EBP) int32_t __cdecl _purecall() ; SYM_FORMAT-DAG: func [0x001150+6 - 0x0011b6-4] (EBP) int32_t __cdecl main(int32_t argc, char** argv) ; SYM_FORMAT-DAG: func [0x0010b0+7 - 0x0010c7-4] (EBP) void A::A() ; SYM_FORMAT-DAG: func [0x0011c0+7 - 0x0011f1-6] (EBP) void B::B() ; SYM_FORMAT-DAG: thunk [0x000010f6 - 0x000010fa] (Pcode) B::`vcall'{0}' ; SYM_FORMAT-DAG: func [0x001100+7 - 0x00110b-4] (EBP) virtual void B::PureFunc() ; SYM_FORMAT-DAG: func [0x001110+7 - 0x00111b-4] (EBP) void A::RegularFunc() ; SYM_FORMAT-DAG: func [0x001120+7 - 0x00112b-4] (EBP) virtual void A::VirtualFunc() ; TYPES_FORMAT: Enums ; TYPES_FORMAT-DAG: enum TestEnum ; TYPES_FORMAT-DAG: enum TestEnumClass ; TYPES_FORMAT: Function Signatures ; TYPES_FORMAT-DAG: int32_t __cdecl () ; TYPES_FORMAT-DAG: int32_t __cdecl (int32_t, char**) ; TYPES_FORMAT-DAG: void (A::)() ; TYPES_FORMAT-DAG: void (B::)() ; TYPES_FORMAT-DAG: void (B::)(B&) ; TYPES_FORMAT-DAG: void (B::)() ; TYPES_FORMAT-DAG: B& (B::)(B&) ; TYPES_FORMAT-DAG: void (A::)(A&) ; TYPES_FORMAT-DAG: void (A::)() ; TYPES_FORMAT-DAG: A& (A::)(A&) ; TYPES_FORMAT: Typedefs ; TYPES_FORMAT-DAG: typedef int32_t IntType ; TYPES_FORMAT-DAG: typedef class A ClassAType ; TYPES_FORMAT: Classes ; TYPES_FORMAT-DAG: class A ; TYPES_FORMAT-DAG: class B ; FULL_CLASS: Classes ; FULL_CLASS-DAG: class A { ; FULL_CLASS: public: ; FULL_CLASS: virtual void PureFunc() = 0 ; FULL_CLASS: virtual void VirtualFunc() ; FULL_CLASS: void RegularFunc() ; FULL_CLASS: } ; FULL_CLASS-DAG: class B { ; FULL_CLASS: public: ; FULL_CLASS: virtual void PureFunc() ; FULL_CLASS: }