diff options
author | Lang Hames <lhames@gmail.com> | 2016-05-17 21:38:53 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2016-05-17 21:38:53 +0000 |
commit | 8a63b2afc15f7cb0280c9ce1cce3ad44b43e1807 (patch) | |
tree | e3d5fd459073505a537c5cad1e177ae0a425b00c /llvm/lib/Object/Error.cpp | |
parent | 594e07bd78e7efa3690a65eb20f4620303b80da8 (diff) | |
download | llvm-8a63b2afc15f7cb0280c9ce1cce3ad44b43e1807.zip llvm-8a63b2afc15f7cb0280c9ce1cce3ad44b43e1807.tar.gz llvm-8a63b2afc15f7cb0280c9ce1cce3ad44b43e1807.tar.bz2 |
[Object] Move isNotObjectErrorInvalidFileType out of header.
llvm-svn: 269848
Diffstat (limited to 'llvm/lib/Object/Error.cpp')
-rw-r--r-- | llvm/lib/Object/Error.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/lib/Object/Error.cpp b/llvm/lib/Object/Error.cpp index 15bce77..8eab793 100644 --- a/llvm/lib/Object/Error.cpp +++ b/llvm/lib/Object/Error.cpp @@ -71,3 +71,21 @@ static ManagedStatic<_object_error_category> error_category; const std::error_category &object::object_category() { return *error_category; } + +llvm::Error llvm::object::isNotObjectErrorInvalidFileType(llvm::Error Err) { + if (auto Err2 = + handleErrors(std::move(Err), + [](std::unique_ptr<ECError> M) { + // Try to handle 'M'. If successful, return a success value from + // the handler. + if (M->convertToErrorCode() == object_error::invalid_file_type) + return Error::success(); + + // We failed to handle 'M' - return it from the handler. + // This value will be passed back from catchErrors and + // wind up in Err2, where it will be returned from this function. + return Error(std::move(M)); + })) + return Err2; + return Err; +} |