summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/PDB/Raw/SymbolStream.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-06-08 17:26:39 +0000
committerZachary Turner <zturner@google.com>2016-06-08 17:26:39 +0000
commita1657a9e64c1e8df34e32ca69fac918a7d28c60a (patch)
tree74993d26964f0f2f28bed1a30e85b19401a2f34e /llvm/lib/DebugInfo/PDB/Raw/SymbolStream.cpp
parentced0853b468dadcf50ad5dae68017e3cd9c86bda (diff)
downloadbcm5719-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.cpp9
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();
OpenPOWER on IntegriCloud