summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/llvm-readobj.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.h')
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.h b/llvm/tools/llvm-readobj/llvm-readobj.h
index 015692085e5..840ddbabdc5 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.h
+++ b/llvm/tools/llvm-readobj/llvm-readobj.h
@@ -25,6 +25,11 @@ namespace llvm {
LLVM_ATTRIBUTE_NORETURN void reportError(Twine Msg);
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(ErrorOr<T> EO) {
if (EO)
return *EO;
OpenPOWER on IntegriCloud