diff options
Diffstat (limited to 'llvm/tools/llvm-readobj')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 8 | ||||
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index 032283e21de..7ccc2c7e00d 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -272,6 +272,14 @@ LLVM_ATTRIBUTE_NORETURN void reportError(Twine Msg) { exit(1); } +void error(llvm::Error EC) { + if (!EC) + return; + + handleAllErrors(std::move(EC), + [&](ErrorInfoBase &EI) { reportError(EI.message()); }); +} + void error(std::error_code EC) { if (!EC) return; diff --git a/llvm/tools/llvm-readobj/llvm-readobj.h b/llvm/tools/llvm-readobj/llvm-readobj.h index b169c002918..862fd13ad29 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.h +++ b/llvm/tools/llvm-readobj/llvm-readobj.h @@ -24,6 +24,7 @@ namespace llvm { // Various helper functions. LLVM_ATTRIBUTE_NORETURN void reportError(Twine Msg); void error(std::error_code ec); + void error(llvm::Error EC); template <class T> T unwrapOrError(ErrorOr<T> EO) { if (EO) return *EO; |