diff options
author | Zachary Turner <zturner@google.com> | 2016-06-06 20:37:05 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-06-06 20:37:05 +0000 |
commit | 7120a478fafa6157cadcfae68e87ae4cafbc125e (patch) | |
tree | 876366a0c272c230f9936749992f89fad423a02b /llvm/tools/llvm-pdbdump/YAMLOutputStyle.h | |
parent | 59144071852180e2b38eee34f9b2ed0d92e1716d (diff) | |
download | bcm5719-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.h | 51 |
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 |