[PATCH] D66000: [llvm-readobj] - Remove `error(llvm::Expected<T> &&E)`

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 9 03:28:12 PDT 2019


grimar created this revision.
grimar added reviewers: jhenderson, MaskRay.
Herald added subscribers: rupprecht, aheejin, sbc100.

This is a bit strange method. It works like a `unwrapOrError`,
but named `error`. It does not report an `Input` name.
I removed it.

Rebased on top of D65946 <https://reviews.llvm.org/D65946>


https://reviews.llvm.org/D66000

Files:
  tools/llvm-readobj/COFFDumper.cpp
  tools/llvm-readobj/WasmDumper.cpp
  tools/llvm-readobj/llvm-readobj.h


Index: tools/llvm-readobj/llvm-readobj.h
===================================================================
--- tools/llvm-readobj/llvm-readobj.h
+++ tools/llvm-readobj/llvm-readobj.h
@@ -28,10 +28,6 @@
   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)
Index: tools/llvm-readobj/WasmDumper.cpp
===================================================================
--- tools/llvm-readobj/WasmDumper.cpp
+++ tools/llvm-readobj/WasmDumper.cpp
@@ -90,7 +90,7 @@
   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) {
Index: tools/llvm-readobj/COFFDumper.cpp
===================================================================
--- tools/llvm-readobj/COFFDumper.cpp
+++ tools/llvm-readobj/COFFDumper.cpp
@@ -1048,7 +1048,8 @@
       // 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 @@
   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 @@
   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) {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66000.214340.patch
Type: text/x-patch
Size: 2443 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190809/9da53b2d/attachment.bin>


More information about the llvm-commits mailing list