diff options
Diffstat (limited to 'tools/llvm-readobj/Error.h')
-rw-r--r-- | tools/llvm-readobj/Error.h | 39 |
1 files changed, 16 insertions, 23 deletions
diff --git a/tools/llvm-readobj/Error.h b/tools/llvm-readobj/Error.h index 5129b4e..81ce408 100644 --- a/tools/llvm-readobj/Error.h +++ b/tools/llvm-readobj/Error.h @@ -14,35 +14,28 @@ #ifndef LLVM_READOBJ_ERROR_H #define LLVM_READOBJ_ERROR_H -#include "llvm/Support/system_error.h" +#include <system_error> namespace llvm { - -const error_category &readobj_category(); - -struct readobj_error { - enum _ { - success = 0, - file_not_found, - unsupported_file_format, - unrecognized_file_format, - unsupported_obj_file_format, - unknown_symbol - }; - _ v_; - - readobj_error(_ v) : v_(v) {} - explicit readobj_error(int v) : v_(_(v)) {} - operator int() const {return v_;} +const std::error_category &readobj_category(); + +enum class readobj_error { + success = 0, + file_not_found, + unsupported_file_format, + unrecognized_file_format, + unsupported_obj_file_format, + unknown_symbol }; -inline error_code make_error_code(readobj_error e) { - return error_code(static_cast<int>(e), readobj_category()); +inline std::error_code make_error_code(readobj_error e) { + return std::error_code(static_cast<int>(e), readobj_category()); } -template <> struct is_error_code_enum<readobj_error> : std::true_type { }; -template <> struct is_error_code_enum<readobj_error::_> : std::true_type { }; - } // namespace llvm +namespace std { +template <> struct is_error_code_enum<llvm::readobj_error> : std::true_type {}; +} + #endif |