diff options
-rw-r--r-- | llvm/test/DebugInfo/PDB/DIA/pdbdump-symbol-format.test | 6 | ||||
-rw-r--r-- | llvm/tools/llvm-pdbdump/BuiltinDumper.cpp | 26 | ||||
-rw-r--r-- | llvm/tools/llvm-pdbdump/TypeDumper.cpp | 2 |
3 files changed, 26 insertions, 8 deletions
diff --git a/llvm/test/DebugInfo/PDB/DIA/pdbdump-symbol-format.test b/llvm/test/DebugInfo/PDB/DIA/pdbdump-symbol-format.test index 23935108c36..3761f789f59 100644 --- a/llvm/test/DebugInfo/PDB/DIA/pdbdump-symbol-format.test +++ b/llvm/test/DebugInfo/PDB/DIA/pdbdump-symbol-format.test @@ -9,7 +9,7 @@ ; 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-DAG: func [{{.*}}] (FPO) unsigned int __cdecl fpo_func(unsigned int 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) @@ -44,7 +44,7 @@ ; TYPES_2: data +0x09 char m_char ; TYPES_2: data +0x0a wchar_t m_wchar_t ; TYPES_2: data +0x0c int m_int -; TYPES_2: data +0x10 unsigned m_unsigned +; TYPES_2: data +0x10 unsigned int m_unsigned ; TYPES_2: data +0x14 long m_long ; TYPES_2: data +0x18 unsigned long m_unsigned_long ; TYPES_2: data +0x20 __int64 m_int64 @@ -55,6 +55,6 @@ ; TYPES_2: } ; GLOBALS: ---GLOBALS--- -; GLOBALS-DAG: func [{{.*}}] (FPO) unsigned __cdecl fpo_func(unsigned n) +; GLOBALS-DAG: func [{{.*}}] (FPO) unsigned int __cdecl fpo_func(unsigned int n) ; GLOBALS-DAG: data [{{.*}}] static void* g_global_pointer ; GLOBALS-DAG: data [{{.*}}] static int g_global_int diff --git a/llvm/tools/llvm-pdbdump/BuiltinDumper.cpp b/llvm/tools/llvm-pdbdump/BuiltinDumper.cpp index 43270540f45..413a3fcba71 100644 --- a/llvm/tools/llvm-pdbdump/BuiltinDumper.cpp +++ b/llvm/tools/llvm-pdbdump/BuiltinDumper.cpp @@ -30,13 +30,31 @@ StringRef BuiltinDumper::getTypeName(const PDBSymbolTypeBuiltin &Symbol) { return "float"; return "double"; case PDB_BuiltinType::UInt: - if (Symbol.getLength() == 8) + switch (Symbol.getLength()) { + case 8: return "unsigned __int64"; - return "unsigned"; + case 4: + return "unsigned int"; + case 2: + return "unsigned short"; + case 1: + return "unsigned char"; + default: + return "unsigned"; + } case PDB_BuiltinType::Int: - if (Symbol.getLength() == 4) + switch (Symbol.getLength()) { + case 8: + return "__int64"; + case 4: + return "int"; + case 2: + return "short"; + case 1: + return "char"; + default: return "int"; - return "__int64"; + } case PDB_BuiltinType::Char: return "char"; case PDB_BuiltinType::WCharT: diff --git a/llvm/tools/llvm-pdbdump/TypeDumper.cpp b/llvm/tools/llvm-pdbdump/TypeDumper.cpp index 88c0bd65697..39bdde93c6a 100644 --- a/llvm/tools/llvm-pdbdump/TypeDumper.cpp +++ b/llvm/tools/llvm-pdbdump/TypeDumper.cpp @@ -62,7 +62,7 @@ void TypeDumper::dump(const PDBSymbolTypeEnum &Symbol) { if (Printer.IsTypeExcluded(Symbol.getName())) return; // Dump member enums when dumping their class definition. - if (Symbol.isNested()) + if (nullptr != Symbol.getClassParent()) return; Printer.NewLine(); |