diff options
| author | Zachary Turner <zturner@google.com> | 2016-06-07 20:38:37 +0000 |
|---|---|---|
| committer | Zachary Turner <zturner@google.com> | 2016-06-07 20:38:37 +0000 |
| commit | e6fee88ce14865f5863ca711504936db4b011d34 (patch) | |
| tree | f72e51178ef170144f1873f8af5ceb2c21713460 /llvm/lib | |
| parent | 0ad60a90c799051ec7dafce58f5a92e584d791df (diff) | |
| download | bcm5719-llvm-e6fee88ce14865f5863ca711504936db4b011d34.tar.gz bcm5719-llvm-e6fee88ce14865f5863ca711504936db4b011d34.zip | |
[pdb] Convert StringRefs to ArrayRef<uint8_t>s.
llvm-svn: 272058
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/DebugInfo/PDB/Raw/MappedBlockStream.cpp | 11 | ||||
| -rw-r--r-- | llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp | 9 |
2 files changed, 11 insertions, 9 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Raw/MappedBlockStream.cpp b/llvm/lib/DebugInfo/PDB/Raw/MappedBlockStream.cpp index 03462b38863..3428ff83471 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/MappedBlockStream.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/MappedBlockStream.cpp @@ -78,10 +78,9 @@ bool MappedBlockStream::tryReadContiguously(uint32_t Offset, uint32_t Size, } uint32_t FirstBlockAddr = BlockList[BlockNum]; - StringRef Str = Pdb.getBlockData(FirstBlockAddr, Pdb.getBlockSize()); - Str = Str.drop_front(OffsetInBlock); - Buffer = - ArrayRef<uint8_t>(reinterpret_cast<const uint8_t *>(Str.data()), Size); + auto Data = Pdb.getBlockData(FirstBlockAddr, Pdb.getBlockSize()); + Data = Data.drop_front(OffsetInBlock); + Buffer = ArrayRef<uint8_t>(Data.data(), Size); return true; } @@ -103,9 +102,9 @@ Error MappedBlockStream::readBytes(uint32_t Offset, while (BytesLeft > 0) { uint32_t StreamBlockAddr = BlockList[BlockNum]; - StringRef Data = Pdb.getBlockData(StreamBlockAddr, Pdb.getBlockSize()); + auto Data = Pdb.getBlockData(StreamBlockAddr, Pdb.getBlockSize()); - const char *ChunkStart = Data.data() + OffsetInBlock; + const uint8_t *ChunkStart = Data.data() + OffsetInBlock; uint32_t BytesInChunk = std::min(BytesLeft, Pdb.getBlockSize() - OffsetInBlock); ::memcpy(WriteBuffer + BytesWritten, ChunkStart, BytesInChunk); diff --git a/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp b/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp index 9ef0a492e87..22094773624 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp @@ -138,11 +138,14 @@ PDBFile::getStreamBlockList(uint32_t StreamIndex) const { return Array; } -StringRef PDBFile::getBlockData(uint32_t BlockIndex, uint32_t NumBytes) const { +ArrayRef<uint8_t> PDBFile::getBlockData(uint32_t BlockIndex, + uint32_t NumBytes) const { uint64_t StreamBlockOffset = blockToOffset(BlockIndex, getBlockSize()); - return StringRef(Context->Buffer->getBufferStart() + StreamBlockOffset, - NumBytes); + return ArrayRef<uint8_t>( + reinterpret_cast<const uint8_t *>(Context->Buffer->getBufferStart()) + + StreamBlockOffset, + NumBytes); } Error PDBFile::parseFileHeaders() { |

