diff options
author | Zachary Turner <zturner@google.com> | 2016-06-08 17:26:39 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-06-08 17:26:39 +0000 |
commit | a1657a9e64c1e8df34e32ca69fac918a7d28c60a (patch) | |
tree | 74993d26964f0f2f28bed1a30e85b19401a2f34e /llvm/lib/DebugInfo/PDB/Raw/SymbolStream.cpp | |
parent | ced0853b468dadcf50ad5dae68017e3cd9c86bda (diff) | |
download | bcm5719-llvm-a1657a9e64c1e8df34e32ca69fac918a7d28c60a.tar.gz bcm5719-llvm-a1657a9e64c1e8df34e32ca69fac918a7d28c60a.zip |
[pdb] Handle stream index errors better.
Reviewed By: ruiu
Differential Revision: http://reviews.llvm.org/D21128
llvm-svn: 272172
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Raw/SymbolStream.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/PDB/Raw/SymbolStream.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Raw/SymbolStream.cpp b/llvm/lib/DebugInfo/PDB/Raw/SymbolStream.cpp index b6267a7f3f4..c8e93c26a7d 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/SymbolStream.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/SymbolStream.cpp @@ -24,16 +24,15 @@ using namespace llvm; using namespace llvm::support; using namespace llvm::pdb; -SymbolStream::SymbolStream(const PDBFile &File, uint32_t StreamNum) - : MappedStream(llvm::make_unique<IndexedStreamData>(StreamNum, File), - File) {} +SymbolStream::SymbolStream(std::unique_ptr<MappedBlockStream> Stream) + : Stream(std::move(Stream)) {} SymbolStream::~SymbolStream() {} Error SymbolStream::reload() { - codeview::StreamReader Reader(MappedStream); + codeview::StreamReader Reader(*Stream); - if (auto EC = Reader.readArray(SymbolRecords, MappedStream.getLength())) + if (auto EC = Reader.readArray(SymbolRecords, Stream->getLength())) return EC; return Error::success(); |