diff options
Diffstat (limited to 'llvm/tools/llvm-pdbdump/PdbYaml.cpp')
-rw-r--r-- | llvm/tools/llvm-pdbdump/PdbYaml.cpp | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/llvm/tools/llvm-pdbdump/PdbYaml.cpp b/llvm/tools/llvm-pdbdump/PdbYaml.cpp index efaa986a817..fa15ff2b39d 100644 --- a/llvm/tools/llvm-pdbdump/PdbYaml.cpp +++ b/llvm/tools/llvm-pdbdump/PdbYaml.cpp @@ -16,17 +16,31 @@ using namespace llvm::yaml; using namespace llvm::pdb; using namespace llvm::pdb::yaml; +void MappingTraits<PDBFile::SuperBlock>::mapping(IO &IO, + PDBFile::SuperBlock &SB) { + if (!IO.outputting()) { + ::memcpy(SB.MagicBytes, MsfMagic, sizeof(MsfMagic)); + } + + IO.mapRequired("BlockSize", SB.BlockSize); + IO.mapRequired("Unknown0", SB.Unknown0); + IO.mapRequired("NumBlocks", SB.NumBlocks); + IO.mapRequired("NumDirectoryBytes", SB.NumDirectoryBytes); + IO.mapRequired("Unknown1", SB.Unknown1); + IO.mapRequired("BlockMapAddr", SB.BlockMapAddr); +} + +void MappingTraits<StreamBlockList>::mapping(IO &IO, StreamBlockList &SB) { + IO.mapRequired("Stream", SB.Blocks); +} + void MappingTraits<MsfHeaders>::mapping(IO &IO, MsfHeaders &Obj) { - IO.mapRequired("BlockSize", Obj.BlockSize); - IO.mapRequired("Unknown0", Obj.Unknown0); - IO.mapRequired("NumBlocks", Obj.BlockCount); - IO.mapRequired("NumDirectoryBytes", Obj.NumDirectoryBytes); - IO.mapRequired("Unknown1", Obj.Unknown1); - IO.mapRequired("BlockMapAddr", Obj.BlockMapIndex); + IO.mapRequired("SuperBlock", Obj.SuperBlock); IO.mapRequired("NumDirectoryBlocks", Obj.NumDirectoryBlocks); IO.mapRequired("BlockMapOffset", Obj.BlockMapOffset); IO.mapRequired("DirectoryBlocks", Obj.DirectoryBlocks); IO.mapRequired("NumStreams", Obj.NumStreams); + IO.mapRequired("FileSize", Obj.FileSize); } void MappingTraits<PdbObject>::mapping(IO &IO, PdbObject &Obj) { @@ -34,11 +48,3 @@ void MappingTraits<PdbObject>::mapping(IO &IO, PdbObject &Obj) { IO.mapOptional("StreamSizes", Obj.StreamSizes); IO.mapOptional("StreamMap", Obj.StreamMap); } - -void MappingTraits<StreamSizeEntry>::mapping(IO &IO, StreamSizeEntry &Obj) { - IO.mapRequired("Size", Obj.Size); -} - -void MappingTraits<StreamMapEntry>::mapping(IO &IO, StreamMapEntry &Obj) { - IO.mapRequired("Blocks", Obj.Blocks); -} |