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