[pdb] Convert StringRefs to ArrayRef<uint8_t>s.
llvm-svn: 272058
diff --git a/llvm/lib/DebugInfo/PDB/Raw/MappedBlockStream.cpp b/llvm/lib/DebugInfo/PDB/Raw/MappedBlockStream.cpp
index 03462b3..3428ff8 100644
--- a/llvm/lib/DebugInfo/PDB/Raw/MappedBlockStream.cpp
+++ b/llvm/lib/DebugInfo/PDB/Raw/MappedBlockStream.cpp
@@ -78,10 +78,9 @@
}
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 @@
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);