From 2d5c2cd3ce208ebfac2bceb4c73157bef4e00fdc Mon Sep 17 00:00:00 2001 From: Zachary Turner Date: Wed, 3 May 2017 17:11:11 +0000 Subject: [llvm-readobj] Update readobj to re-use parsing code. llvm-readobj hand rolls some CodeView parsing code for string tables, so this patch updates it to re-use some of the newly introduced parsing code in LLVMDebugInfoCodeView. Differential Revision: https://reviews.llvm.org/D32772 llvm-svn: 302052 --- llvm/lib/DebugInfo/CodeView/StringTable.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'llvm/lib/DebugInfo/CodeView/StringTable.cpp') diff --git a/llvm/lib/DebugInfo/CodeView/StringTable.cpp b/llvm/lib/DebugInfo/CodeView/StringTable.cpp index 5d3a0dd9cfa..f496854ffaf 100644 --- a/llvm/lib/DebugInfo/CodeView/StringTable.cpp +++ b/llvm/lib/DebugInfo/CodeView/StringTable.cpp @@ -18,17 +18,17 @@ using namespace llvm::codeview; StringTableRef::StringTableRef() {} -Error StringTableRef::initialize(BinaryStreamReader &Reader) { - return Reader.readStreamRef(Stream, Reader.bytesRemaining()); +Error StringTableRef::initialize(BinaryStreamRef Contents) { + Stream = Contents; + return Error::success(); } -StringRef StringTableRef::getString(uint32_t Offset) const { +Expected StringTableRef::getString(uint32_t Offset) const { BinaryStreamReader Reader(Stream); Reader.setOffset(Offset); StringRef Result; - Error EC = Reader.readCString(Result); - assert(!EC); - consumeError(std::move(EC)); + if (auto EC = Reader.readCString(Result)) + return std::move(EC); return Result; } -- cgit v1.2.3