diff options
author | Zachary Turner <zturner@google.com> | 2017-05-03 17:11:11 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2017-05-03 17:11:11 +0000 |
commit | 2d5c2cd3ce208ebfac2bceb4c73157bef4e00fdc (patch) | |
tree | f3a5c0de380443aa47cc2d67fc0badacbceaf3d9 /llvm/lib/DebugInfo/CodeView/StringTable.cpp | |
parent | 761bcdaf066f55075989dac2dbf0ebb148198ee0 (diff) | |
download | bcm5719-llvm-2d5c2cd3ce208ebfac2bceb4c73157bef4e00fdc.tar.gz bcm5719-llvm-2d5c2cd3ce208ebfac2bceb4c73157bef4e00fdc.zip |
[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
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView/StringTable.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/CodeView/StringTable.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
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<StringRef> 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; } |