diff options
-rw-r--r-- | llvm/tools/llvm-readobj/COFFDumper.cpp | 9 | ||||
-rw-r--r-- | llvm/tools/llvm-readobj/WasmDumper.cpp | 2 | ||||
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.h | 4 |
3 files changed, 7 insertions, 8 deletions
diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp index 9b949f1..2ee4d52 100644 --- a/llvm/tools/llvm-readobj/COFFDumper.cpp +++ b/llvm/tools/llvm-readobj/COFFDumper.cpp @@ -1048,7 +1048,8 @@ void COFFDumper::printCodeViewSymbolSection(StringRef SectionName, // To find the active frame description, search this array for the // smallest PC range that includes the current PC. for (const auto &FD : FrameData) { - StringRef FrameFunc = error(CVStringTable.getString(FD.FrameFunc)); + StringRef FrameFunc = unwrapOrError( + Obj->getFileName(), CVStringTable.getString(FD.FrameFunc)); DictScope S(W, "FrameData"); W.printHex("RvaStart", FD.RvaStart); @@ -1169,7 +1170,8 @@ void COFFDumper::printCodeViewFileChecksums(StringRef Subsection) { for (auto &FC : Checksums) { DictScope S(W, "FileChecksum"); - StringRef Filename = error(CVStringTable.getString(FC.FileNameOffset)); + StringRef Filename = unwrapOrError( + Obj->getFileName(), CVStringTable.getString(FC.FileNameOffset)); W.printHex("Filename", Filename, FC.FileNameOffset); W.printHex("ChecksumSize", FC.Checksum.size()); W.printEnum("ChecksumKind", uint8_t(FC.Kind), @@ -1211,7 +1213,8 @@ StringRef COFFDumper::getFileNameForFileOffset(uint32_t FileOffset) { if (Iter == CVFileChecksumTable.end()) error(object_error::parse_failed); - return error(CVStringTable.getString(Iter->FileNameOffset)); + return unwrapOrError(Obj->getFileName(), + CVStringTable.getString(Iter->FileNameOffset)); } void COFFDumper::printFileNameForOffset(StringRef Label, uint32_t FileOffset) { diff --git a/llvm/tools/llvm-readobj/WasmDumper.cpp b/llvm/tools/llvm-readobj/WasmDumper.cpp index 041a9a1..2ffc74b 100644 --- a/llvm/tools/llvm-readobj/WasmDumper.cpp +++ b/llvm/tools/llvm-readobj/WasmDumper.cpp @@ -90,7 +90,7 @@ void WasmDumper::printRelocation(const SectionRef &Section, StringRef SymName; symbol_iterator SI = Reloc.getSymbol(); if (SI != Obj->symbol_end()) - SymName = error(SI->getName()); + SymName = unwrapOrError(Obj->getFileName(), SI->getName()); bool HasAddend = false; switch (RelocType) { diff --git a/llvm/tools/llvm-readobj/llvm-readobj.h b/llvm/tools/llvm-readobj/llvm-readobj.h index 4cdb01d..d7fbb0e 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.h +++ b/llvm/tools/llvm-readobj/llvm-readobj.h @@ -28,10 +28,6 @@ namespace llvm { void warn(llvm::Error Err); void error(std::error_code EC); void error(llvm::Error EC); - template <typename T> T error(llvm::Expected<T> &&E) { - error(E.takeError()); - return std::move(*E); - } template <class T> T unwrapOrError(StringRef Input, Expected<T> EO) { if (EO) |