diff options
author | Zachary Turner <zturner@google.com> | 2016-06-14 18:49:36 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-06-14 18:49:36 +0000 |
commit | fe5bc0249208e9f3e5bee12a90969ed6d55af01f (patch) | |
tree | 3e6b830c5530317273c4574e69748198a60a5a22 /llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp | |
parent | 957a151fd14de8ab72ee17fd3d21c8550f9d9c7a (diff) | |
download | llvm-fe5bc0249208e9f3e5bee12a90969ed6d55af01f.zip llvm-fe5bc0249208e9f3e5bee12a90969ed6d55af01f.tar.gz llvm-fe5bc0249208e9f3e5bee12a90969ed6d55af01f.tar.bz2 |
[pdb] Actually write a PDB to disk from YAML.
llvm-svn: 272692
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp b/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp index 6186a47..a5c383e 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp @@ -23,6 +23,7 @@ #include "llvm/DebugInfo/PDB/Raw/SymbolStream.h" #include "llvm/DebugInfo/PDB/Raw/TpiStream.h" #include "llvm/Support/Endian.h" +#include "llvm/Support/FileOutputBuffer.h" #include "llvm/Support/MemoryBuffer.h" using namespace llvm; @@ -69,6 +70,8 @@ PDBFile::getStreamBlockList(uint32_t StreamIndex) const { return StreamMap[StreamIndex]; } +size_t PDBFile::getFileSize() const { return Buffer->getLength(); } + ArrayRef<uint8_t> PDBFile::getBlockData(uint32_t BlockIndex, uint32_t NumBytes) const { uint64_t StreamBlockOffset = blockToOffset(BlockIndex, getBlockSize()); @@ -317,3 +320,15 @@ Expected<NameHashTable &> PDBFile::getStringTable() { } return *StringTable; } + +void PDBFile::setSuperBlock(const SuperBlock *Block) { SB = Block; } + +void PDBFile::setStreamSizes(ArrayRef<support::ulittle32_t> Sizes) { + StreamSizes = Sizes; +} + +void PDBFile::setStreamMap(ArrayRef<ArrayRef<support::ulittle32_t>> Blocks) { + StreamMap = Blocks; +} + +void PDBFile::commit() {}
\ No newline at end of file |