summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp')
-rw-r--r--llvm/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/llvm/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp b/llvm/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp
index 02f31108b0d..ccfd38c1e3c 100644
--- a/llvm/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp
+++ b/llvm/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp
@@ -59,14 +59,17 @@ bool PrettyClassLayoutTextDumper::start(const ClassLayout &Layout) {
NextUnusedByte = UseMap.find_next_unset(Off);
}
}
- LayoutItem->getSymbol().dump(*this);
+ if (auto Sym = LayoutItem->getSymbol())
+ Sym->dump(*this);
}
- if (NextUnusedByte >= 0 && Layout.getClassSize() > 1) {
- uint32_t Amount = Layout.getClassSize() - NextUnusedByte;
- Printer.NewLine();
- WithColor(Printer, PDB_ColorItem::Padding).get() << "<padding> (" << Amount
- << " bytes)";
+ if (NextUnusedByte >= 0 && Layout.getSize() > 1) {
+ uint32_t Amount = Layout.getSize() - NextUnusedByte;
+ if (Amount > 0) {
+ Printer.NewLine();
+ WithColor(Printer, PDB_ColorItem::Padding).get() << "<padding> ("
+ << Amount << " bytes)";
+ }
DumpedAnything = true;
}
@@ -116,4 +119,6 @@ void PrettyClassLayoutTextDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
Dumper.start(Symbol);
}
+void PrettyClassLayoutTextDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {}
+
void PrettyClassLayoutTextDumper::dump(const PDBSymbolTypeUDT &Symbol) {}
OpenPOWER on IntegriCloud