summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2018-10-01 17:55:38 +0000
committerZachary Turner <zturner@google.com>2018-10-01 17:55:38 +0000
commita5e3e02602a350b1cd704bda39194e140e4a0cc6 (patch)
tree983c1ee5f1914eef9248e33818c994e00880a1b4 /llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
parent5c1873b21351779f51857991320657f7eb0dc7b2 (diff)
downloadbcm5719-llvm-a5e3e02602a350b1cd704bda39194e140e4a0cc6.tar.gz
bcm5719-llvm-a5e3e02602a350b1cd704bda39194e140e4a0cc6.zip
[PDB] Add support for dumping Typedef records.
These work a little differently because they are actually in the globals stream and are treated as symbol records, even though DIA presents them as types. So this also adds the necessary infrastructure to cache records that live somewhere other than the TPI stream as well. llvm-svn: 343507
Diffstat (limited to 'llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp')
-rw-r--r--llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
index 49bcc55f279..da9a64487ed 100644
--- a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
+++ b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
@@ -197,6 +197,8 @@ static cl::opt<bool> Arrays("arrays", cl::desc("Dump array types"),
cl::sub(DiaDumpSubcommand));
static cl::opt<bool> VTShapes("vtshapes", cl::desc("Dump virtual table shapes"),
cl::sub(DiaDumpSubcommand));
+static cl::opt<bool> Typedefs("typedefs", cl::desc("Dump typedefs"),
+ cl::sub(DiaDumpSubcommand));
} // namespace diadump
namespace pretty {
@@ -1027,6 +1029,8 @@ static void dumpDia(StringRef Path) {
SymTypes.push_back(PDB_SymType::ArrayType);
if (opts::diadump::VTShapes)
SymTypes.push_back(PDB_SymType::VTableShape);
+ if (opts::diadump::Typedefs)
+ SymTypes.push_back(PDB_SymType::Typedef);
PdbSymbolIdField Ids = opts::diadump::NoSymIndexIds ? PdbSymbolIdField::None
: PdbSymbolIdField::All;
OpenPOWER on IntegriCloud