mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-29 23:12:55 +01:00
077c624adf
This will now display enum definitions both at the global scope as well as nested inside of classes. Additionally, it will no longer display enums at the global scope if the enum is nested. Instead, it will omit the definition of the enum globally and instead emit it in the corresponding class definition. llvm-svn: 231215
54 lines
2.4 KiB
Plaintext
54 lines
2.4 KiB
Plaintext
; 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 -globals %p/Inputs/symbolformat.pdb | FileCheck --check-prefix=GLOBALS %s
|
|
|
|
; The format is func [0x<rva_start>+<prologue_length> - 0x<rva_end>-<epilogue_length>]
|
|
; SYM_FORMAT: ---SYMBOLS---
|
|
; SYM_FORMAT: symbolformat-fpo.obj
|
|
; SYM_FORMAT-DAG: func [{{.*}}] (FPO) unsigned __cdecl fpo_func(unsigned n)
|
|
; SYM_FORMAT: symbolformat.obj
|
|
; SYM_FORMAT-DAG: func [{{.*}}] (EBP) int __cdecl _purecall()
|
|
; SYM_FORMAT-DAG: func [{{.*}}] (EBP) int __cdecl main(int argc, char** argv)
|
|
; SYM_FORMAT-DAG: func [{{.*}}] (EBP) void A::A()
|
|
; SYM_FORMAT-DAG: func [{{.*}}] (EBP) void B::B()
|
|
; SYM_FORMAT-DAG: thunk [{{.*}}] (Pcode) B::`vcall'{0}'
|
|
; SYM_FORMAT-DAG: func [{{.*}}] (EBP) virtual void B::PureFunc()
|
|
; SYM_FORMAT-DAG: func [{{.*}}] (EBP) void A::RegularFunc()
|
|
; SYM_FORMAT-DAG: func [{{.*}}] (EBP) virtual void A::VirtualFunc()
|
|
|
|
; TYPES_FORMAT: ---TYPES---
|
|
; TYPES_FORMAT: Enums
|
|
; TYPES_FORMAT-DAG: enum TestEnum
|
|
; TYPES_FORMAT-DAG: enum TestEnumClass
|
|
; TYPES_FORMAT: Typedefs
|
|
; TYPES_FORMAT-DAG: typedef int IntType
|
|
; TYPES_FORMAT-DAG: typedef class A ClassAType
|
|
; TYPES_FORMAT: Classes
|
|
; TYPES_FORMAT: struct A {
|
|
; TYPES_FORMAT: public:
|
|
; TYPES_FORMAT: virtual void PureFunc() = 0
|
|
; TYPES_FORMAT: virtual void VirtualFunc()
|
|
; TYPES_FORMAT: void RegularFunc()
|
|
; TYPES_FORMAT: }
|
|
; TYPES_FORMAT-DAG: struct MemberTest {
|
|
; TYPES_FORMAT: data +0x00 MemberTest::NestedEnum m_nested_enum
|
|
; TYPES_FORMAT: data +0x04 int m_typedef
|
|
; TYPES_FORMAT: data +0x08 bool m_bool
|
|
; TYPES_FORMAT: data +0x09 char m_char
|
|
; TYPES_FORMAT: data +0x0a wchar_t m_wchar_t
|
|
; TYPES_FORMAT: data +0x0c int m_int
|
|
; TYPES_FORMAT: data +0x10 unsigned m_unsigned
|
|
; TYPES_FORMAT: data +0x14 long m_long
|
|
; TYPES_FORMAT: data +0x18 unsigned long m_unsigned_long
|
|
; TYPES_FORMAT: data +0x20 __int64 m_int64
|
|
; TYPES_FORMAT: data +0x28 unsigned __int64 m_unsigned_int64
|
|
; TYPES_FORMAT: data +0x30 float m_float
|
|
; TYPES_FORMAT: data +0x38 double m_double
|
|
; TYPES_FORMAT: data +0x40 void (__cdecl *m_pfn_2_args)(int, double)
|
|
; TYPES_FORMAT: }
|
|
|
|
; GLOBALS: ---GLOBALS---
|
|
; GLOBALS-DAG: func [{{.*}}] (FPO) unsigned __cdecl fpo_func(unsigned n)
|
|
; GLOBALS-DAG: data [{{.*}}] static void* g_global_pointer
|
|
; GLOBALS-DAG: data [{{.*}}] static int g_global_int
|