[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