From 1690164cac96cf3670f380a74b27443c71b6a32e Mon Sep 17 00:00:00 2001 From: Zachary Turner Date: Mon, 24 Apr 2017 17:47:24 +0000 Subject: [llvm-pdbdump] Re-write the record layout code to be more resilient. This reworks the way virtual bases are handled, and also the way padding is detected across multiple levels of aggregates, producing a much more accurate result. llvm-svn: 301203 --- llvm/tools/llvm-pdbdump/PrettyVariableDumper.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'llvm/tools/llvm-pdbdump/PrettyVariableDumper.cpp') diff --git a/llvm/tools/llvm-pdbdump/PrettyVariableDumper.cpp b/llvm/tools/llvm-pdbdump/PrettyVariableDumper.cpp index 76a0d23bf87..70925f4b03d 100644 --- a/llvm/tools/llvm-pdbdump/PrettyVariableDumper.cpp +++ b/llvm/tools/llvm-pdbdump/PrettyVariableDumper.cpp @@ -91,6 +91,14 @@ void VariableDumper::start(const PDBSymbolData &Var, uint32_t Offset) { } } +void VariableDumper::startVbptr(uint32_t Offset, uint32_t Size) { + Printer.NewLine(); + Printer << "vbptr "; + + WithColor(Printer, PDB_ColorItem::Offset).get() + << "+" << format_hex(Offset, 4) << " [sizeof=" << Size << "] "; +} + void VariableDumper::start(const PDBSymbolTypeVTable &Var, uint32_t Offset) { Printer.NewLine(); Printer << "vfptr "; -- cgit v1.2.3