summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-pdbdump/PdbYaml.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-pdbdump/PdbYaml.h')
-rw-r--r--llvm/tools/llvm-pdbdump/PdbYaml.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbdump/PdbYaml.h b/llvm/tools/llvm-pdbdump/PdbYaml.h
index a623dde2c49..a7c942a3bd8 100644
--- a/llvm/tools/llvm-pdbdump/PdbYaml.h
+++ b/llvm/tools/llvm-pdbdump/PdbYaml.h
@@ -36,13 +36,33 @@ struct MsfHeaders {
uint32_t NumStreams;
};
+struct StreamSizeEntry {
+ uint32_t Size;
+};
+
+struct StreamMapEntry {
+ std::vector<uint32_t> Blocks;
+};
+
struct PdbObject {
Optional<MsfHeaders> Headers;
+ Optional<std::vector<StreamSizeEntry>> StreamSizes;
+ Optional<std::vector<StreamMapEntry>> StreamMap;
};
}
}
+}
+namespace llvm {
namespace yaml {
+template <> struct MappingTraits<pdb::yaml::StreamSizeEntry> {
+ static void mapping(IO &IO, pdb::yaml::StreamSizeEntry &Obj);
+};
+
+template <> struct MappingTraits<pdb::yaml::StreamMapEntry> {
+ static void mapping(IO &IO, pdb::yaml::StreamMapEntry &Obj);
+};
+
template <> struct MappingTraits<pdb::yaml::MsfHeaders> {
static void mapping(IO &IO, pdb::yaml::MsfHeaders &Obj);
};
@@ -53,5 +73,7 @@ template <> struct MappingTraits<pdb::yaml::PdbObject> {
}
LLVM_YAML_IS_SEQUENCE_VECTOR(uint32_t)
+LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::StreamSizeEntry)
+LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::StreamMapEntry)
#endif // LLVM_TOOLS_LLVMPDBDUMP_PDBYAML_H
OpenPOWER on IntegriCloud