summaryrefslogtreecommitdiff
path: root/tools/llvm-readobj/llvm-readobj.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-readobj/llvm-readobj.h')
-rw-r--r--tools/llvm-readobj/llvm-readobj.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/llvm-readobj/llvm-readobj.h b/tools/llvm-readobj/llvm-readobj.h
index 015692085e5ed..840ddbabdc593 100644
--- a/tools/llvm-readobj/llvm-readobj.h
+++ b/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;