diff options
| author | Zachary Turner <zturner@google.com> | 2016-07-11 21:45:26 +0000 |
|---|---|---|
| committer | Zachary Turner <zturner@google.com> | 2016-07-11 21:45:26 +0000 |
| commit | dbeaea7b357fb4343d01ffa466f3dcab1e57d392 (patch) | |
| tree | f1fd778564c5e85b31e96504ee26b49424b00823 /llvm/tools/llvm-pdbdump/PdbYaml.h | |
| parent | f6b93824677a9aaab59989f7f402010fda6bd63c (diff) | |
| download | bcm5719-llvm-dbeaea7b357fb4343d01ffa466f3dcab1e57d392.tar.gz bcm5719-llvm-dbeaea7b357fb4343d01ffa466f3dcab1e57d392.zip | |
Refactor the PDB writing to use a builder approach
llvm-svn: 275110
Diffstat (limited to 'llvm/tools/llvm-pdbdump/PdbYaml.h')
| -rw-r--r-- | llvm/tools/llvm-pdbdump/PdbYaml.h | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/llvm/tools/llvm-pdbdump/PdbYaml.h b/llvm/tools/llvm-pdbdump/PdbYaml.h index d243f9b12b1..91c0a585926 100644 --- a/llvm/tools/llvm-pdbdump/PdbYaml.h +++ b/llvm/tools/llvm-pdbdump/PdbYaml.h @@ -39,17 +39,28 @@ struct StreamBlockList { }; struct PdbInfoStream { - uint32_t Version; + PdbRaw_ImplVer Version; uint32_t Signature; uint32_t Age; PDB_UniqueId Guid; }; +struct PdbDbiStream { + PdbRaw_DbiVer VerHeader; + uint32_t Age; + uint16_t BuildNumber; + uint32_t PdbDllVersion; + uint16_t PdbDllRbld; + uint16_t Flags; + PDB_Machine MachineType; +}; + struct PdbObject { Optional<MsfHeaders> Headers; Optional<std::vector<support::ulittle32_t>> StreamSizes; Optional<std::vector<StreamBlockList>> StreamMap; Optional<PdbInfoStream> PdbStream; + Optional<PdbDbiStream> DbiStream; }; } } @@ -58,25 +69,29 @@ struct PdbObject { namespace llvm { namespace yaml { -template <> struct MappingTraits<pdb::PDBFile::SuperBlock> { - static void mapping(IO &IO, pdb::PDBFile::SuperBlock &SB); -}; - -template <> struct MappingTraits<pdb::yaml::StreamBlockList> { - static void mapping(IO &IO, pdb::yaml::StreamBlockList &SB); +template <> struct MappingTraits<pdb::yaml::PdbObject> { + static void mapping(IO &IO, pdb::yaml::PdbObject &Obj); }; template <> struct MappingTraits<pdb::yaml::MsfHeaders> { static void mapping(IO &IO, pdb::yaml::MsfHeaders &Obj); }; -template <> struct MappingTraits<pdb::yaml::PdbObject> { - static void mapping(IO &IO, pdb::yaml::PdbObject &Obj); +template <> struct MappingTraits<pdb::PDBFile::SuperBlock> { + static void mapping(IO &IO, pdb::PDBFile::SuperBlock &SB); +}; + +template <> struct MappingTraits<pdb::yaml::StreamBlockList> { + static void mapping(IO &IO, pdb::yaml::StreamBlockList &SB); }; template <> struct MappingTraits<pdb::yaml::PdbInfoStream> { static void mapping(IO &IO, pdb::yaml::PdbInfoStream &Obj); }; + +template <> struct MappingTraits<pdb::yaml::PdbDbiStream> { + static void mapping(IO &IO, pdb::yaml::PdbDbiStream &Obj); +}; } } |

