From 6c247c8cc8054c0c4cc18f1d7c21c5fdb8b1d0e3 Mon Sep 17 00:00:00 2001 From: Chad Rosier Date: Fri, 27 May 2016 18:31:02 +0000 Subject: Revert "[pdb] Allow zero-copy read support for symbol streams." This reverts commit r271024 due to error: static_assert failed "You must either provide a specialization of VarStreamArrayExtractor or a custom extractor" llvm-svn: 271026 --- llvm/lib/DebugInfo/PDB/Raw/ModStream.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'llvm/lib/DebugInfo/PDB/Raw/ModStream.cpp') diff --git a/llvm/lib/DebugInfo/PDB/Raw/ModStream.cpp b/llvm/lib/DebugInfo/PDB/Raw/ModStream.cpp index 404208a6487..38d3f2f23e3 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/ModStream.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/ModStream.cpp @@ -9,7 +9,6 @@ #include "llvm/DebugInfo/PDB/Raw/ModStream.h" -#include "llvm/DebugInfo/CodeView/RecordIterator.h" #include "llvm/DebugInfo/CodeView/StreamReader.h" #include "llvm/DebugInfo/PDB/Raw/ModInfo.h" #include "llvm/DebugInfo/PDB/Raw/RawError.h" @@ -33,14 +32,8 @@ Error ModStream::reload() { return llvm::make_error(raw_error_code::corrupt_file, "Module has both C11 and C13 line info"); - codeview::StreamRef S; - - uint32_t SymbolSubstreamSig = 0; - if (auto EC = Reader.readInteger(SymbolSubstreamSig)) - return EC; - if (auto EC = Reader.readArray(SymbolsSubstream, SymbolSize - 4)) + if (auto EC = SymbolsSubstream.load(Reader, SymbolSize)) return EC; - if (auto EC = Reader.readStreamRef(LinesSubstream, C11Size)) return EC; if (auto EC = Reader.readStreamRef(C13LinesSubstream, C13Size)) @@ -58,6 +51,6 @@ Error ModStream::reload() { return Error::success(); } -iterator_range ModStream::symbols() const { - return llvm::make_range(SymbolsSubstream.begin(), SymbolsSubstream.end()); +iterator_range ModStream::symbols() const { + return codeview::makeSymbolRange(SymbolsSubstream.data().slice(4), nullptr); } -- cgit v1.2.3