summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/CodeView/StringTable.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-05-03 17:11:11 +0000
committerZachary Turner <zturner@google.com>2017-05-03 17:11:11 +0000
commit2d5c2cd3ce208ebfac2bceb4c73157bef4e00fdc (patch)
treef3a5c0de380443aa47cc2d67fc0badacbceaf3d9 /llvm/lib/DebugInfo/CodeView/StringTable.cpp
parent761bcdaf066f55075989dac2dbf0ebb148198ee0 (diff)
downloadbcm5719-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.cpp12
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;
}
OpenPOWER on IntegriCloud