summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-pdbdump/YAMLOutputStyle.h
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-06-06 20:37:05 +0000
committerZachary Turner <zturner@google.com>2016-06-06 20:37:05 +0000
commit7120a478fafa6157cadcfae68e87ae4cafbc125e (patch)
tree876366a0c272c230f9936749992f89fad423a02b /llvm/tools/llvm-pdbdump/YAMLOutputStyle.h
parent59144071852180e2b38eee34f9b2ed0d92e1716d (diff)
downloadbcm5719-llvm-7120a478fafa6157cadcfae68e87ae4cafbc125e.tar.gz
bcm5719-llvm-7120a478fafa6157cadcfae68e87ae4cafbc125e.zip
[llvm-pdbdump] Dump MSF headers to YAML.
This is the simplest possible patch to get some kind of YAML output. All it dumps is the MSF header fields so that in theory an empty MSF file could be reconstructed. Reviewed By: ruiu, majnemer Differential Revision: http://reviews.llvm.org/D20971 llvm-svn: 271939
Diffstat (limited to 'llvm/tools/llvm-pdbdump/YAMLOutputStyle.h')
-rw-r--r--llvm/tools/llvm-pdbdump/YAMLOutputStyle.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbdump/YAMLOutputStyle.h b/llvm/tools/llvm-pdbdump/YAMLOutputStyle.h
new file mode 100644
index 00000000000..cbd1817773c
--- /dev/null
+++ b/llvm/tools/llvm-pdbdump/YAMLOutputStyle.h
@@ -0,0 +1,51 @@
+//===- YAMLOutputStyle.h -------------------------------------- *- C++ --*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H
+#define LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H
+
+#include "OutputStyle.h"
+#include "PdbYaml.h"
+
+#include "llvm/DebugInfo/CodeView/TypeDumper.h"
+#include "llvm/Support/ScopedPrinter.h"
+#include "llvm/Support/YAMLTraits.h"
+
+namespace llvm {
+namespace pdb {
+class YAMLOutputStyle : public OutputStyle {
+public:
+ YAMLOutputStyle(PDBFile &File);
+
+ Error dumpFileHeaders() override;
+ Error dumpStreamSummary() override;
+ Error dumpStreamBlocks() override;
+ Error dumpStreamData() override;
+ Error dumpInfoStream() override;
+ Error dumpNamedStream() override;
+ Error dumpTpiStream(uint32_t StreamIdx) override;
+ Error dumpDbiStream() override;
+ Error dumpSectionContribs() override;
+ Error dumpSectionMap() override;
+ Error dumpPublicsStream() override;
+ Error dumpSectionHeaders() override;
+ Error dumpFpoStream() override;
+
+ void flush() override;
+
+private:
+ PDBFile &File;
+ llvm::yaml::Output Out;
+
+ yaml::PdbObject Obj;
+};
+} // namespace pdb
+} // namespace llvm
+
+#endif // LLVM_TOOLS_LLVMPDBDUMP_YAMLOUTPUTSTYLE_H
OpenPOWER on IntegriCloud