llvm-pdbdump: Add more comprehensive dumping of symbol types.
In particular this patch adds the ability to dump complete
function signature information including argument types as
correctly formatted strings. A side effect of this is that
almost all symbol and meta types are now formatted.
llvm-svn: 229076
diff --git a/llvm/lib/DebugInfo/PDB/PDBSymbolData.cpp b/llvm/lib/DebugInfo/PDB/PDBSymbolData.cpp
index 3c4be3a..9a1ca26 100644
--- a/llvm/lib/DebugInfo/PDB/PDBSymbolData.cpp
+++ b/llvm/lib/DebugInfo/PDB/PDBSymbolData.cpp
@@ -26,7 +26,7 @@
OS << stream_indent(Indent);
PDB_LocType Loc = getLocationType();
PDB_DataKind Kind = getDataKind();
- if (Level == PDB_DumpLevel::Compact) {
+ if (Level >= PDB_DumpLevel::Normal) {
switch (Loc) {
case PDB_LocType::Static: {
uint32_t RVA = getRelativeVirtualAddress();
@@ -75,6 +75,7 @@
OS << "???";
}
}
+
OS << "] ";
if (Kind == PDB_DataKind::Member || Kind == PDB_DataKind::StaticMember) {
uint32_t ClassId = getClassParentId();
@@ -86,6 +87,5 @@
OS << "::";
}
}
- OS << getName() << "\n";
- OS.flush();
+ OS << getName();
}
\ No newline at end of file