summaryrefslogtreecommitdiff
path: root/tools/llvm-pdbdump/LLVMOutputStyle.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2016-07-23 20:41:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2016-07-23 20:41:05 +0000
commit01095a5d43bbfde13731688ddcf6048ebb8b7721 (patch)
tree4def12e759965de927d963ac65840d663ef9d1ea /tools/llvm-pdbdump/LLVMOutputStyle.h
parentf0f4822ed4b66e3579e92a89f368f8fb860e218e (diff)
downloadsrc-test2-01095a5d43bbfde13731688ddcf6048ebb8b7721.tar.gz
src-test2-01095a5d43bbfde13731688ddcf6048ebb8b7721.zip
Notes
Diffstat (limited to 'tools/llvm-pdbdump/LLVMOutputStyle.h')
-rw-r--r--tools/llvm-pdbdump/LLVMOutputStyle.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/tools/llvm-pdbdump/LLVMOutputStyle.h b/tools/llvm-pdbdump/LLVMOutputStyle.h
new file mode 100644
index 000000000000..77935d102205
--- /dev/null
+++ b/tools/llvm-pdbdump/LLVMOutputStyle.h
@@ -0,0 +1,50 @@
+//===- LLVMOutputStyle.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_LLVMOUTPUTSTYLE_H
+#define LLVM_TOOLS_LLVMPDBDUMP_LLVMOUTPUTSTYLE_H
+
+#include "OutputStyle.h"
+
+#include "llvm/DebugInfo/CodeView/TypeDumper.h"
+#include "llvm/Support/ScopedPrinter.h"
+
+namespace llvm {
+namespace pdb {
+class LLVMOutputStyle : public OutputStyle {
+public:
+ LLVMOutputStyle(PDBFile &File);
+
+ Error dump() override;
+
+private:
+ Error dumpFileHeaders();
+ Error dumpStreamSummary();
+ Error dumpStreamBlocks();
+ Error dumpStreamData();
+ Error dumpInfoStream();
+ Error dumpNamedStream();
+ Error dumpTpiStream(uint32_t StreamIdx);
+ Error dumpDbiStream();
+ Error dumpSectionContribs();
+ Error dumpSectionMap();
+ Error dumpPublicsStream();
+ Error dumpSectionHeaders();
+ Error dumpFpoStream();
+
+ void flush();
+
+ PDBFile &File;
+ ScopedPrinter P;
+ codeview::CVTypeDumper TD;
+};
+}
+}
+
+#endif