summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-06-03 04:01:48 +0000
committerZachary Turner <zturner@google.com>2016-06-03 04:01:48 +0000
commitd0563f29f9581d2e0dff5f0cfe351a95e89d463d (patch)
tree83e03de934fd85352f2b2d3d7e4cd655890ef24e /llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp
parenta96cce64a54464da261402bd571a3fa1045f5d95 (diff)
downloadbcm5719-llvm-d0563f29f9581d2e0dff5f0cfe351a95e89d463d.tar.gz
bcm5719-llvm-d0563f29f9581d2e0dff5f0cfe351a95e89d463d.zip
[pdb] Dump file checksums from pdb codeview line info.
llvm-svn: 271622
Diffstat (limited to 'llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp')
-rw-r--r--llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp b/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp
index 30fe5995074..dcaf494ee5c 100644
--- a/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp
+++ b/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp
@@ -427,7 +427,7 @@ static Error dumpNamedStream(ScopedPrinter &P, PDBFile &File) {
for (uint32_t ID : NameTable.name_ids()) {
StringRef Str = NameTable.getStringForID(ID);
if (!Str.empty())
- P.printString(Str);
+ P.printString(to_string(ID), Str);
}
}
return Error::success();
@@ -528,13 +528,21 @@ static Error dumpDbiStream(ScopedPrinter &P, PDBFile &File,
DictScope DD(P, "Unknown");
return printBinaryData(Data);
}
- Error visitFileChecksums(StreamRef Data) override {
+ Error
+ visitFileChecksums(StreamRef Data,
+ const FileChecksumArray &Checksums) override {
DictScope DD(P, "FileChecksums");
- return printBinaryData(Data);
+ for (const auto &C : Checksums) {
+ DictScope DDD(P, "Checksum");
+ P.printNumber("FileNameOffset", C.FileNameOffset);
+ P.printEnum("Kind", uint8_t(C.Kind), getFileChecksumNames());
+ P.printBinaryBlock("Checksum", C.Checksum);
+ }
+ return Error::success();
}
Error visitLines(StreamRef Data, const LineSubstreamHeader *Header,
- LineInfoArray Lines) override {
+ const LineInfoArray &Lines) override {
DictScope DD(P, "Lines");
for (const auto &L : Lines) {
P.printNumber("FileOffset", L.Offset);
@@ -557,7 +565,7 @@ static Error dumpDbiStream(ScopedPrinter &P, PDBFile &File,
P.printNumber("End", C.EndColumn);
}
}
- return printBinaryData(Data);
+ return Error::success();
}
private:
OpenPOWER on IntegriCloud