diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-11 01:09:09 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-11 01:09:09 +0000 |
commit | c3c6d5fcb8032100b2b6bc48175bb1284c8691e2 (patch) | |
tree | 8fca72c535265640d712a5766ee45b864b3e3166 /tools | |
parent | f68129838ba5cb09d13ed53092893e0220a9e773 (diff) | |
download | llvm-c3c6d5fcb8032100b2b6bc48175bb1284c8691e2.tar.gz llvm-c3c6d5fcb8032100b2b6bc48175bb1284c8691e2.tar.bz2 llvm-c3c6d5fcb8032100b2b6bc48175bb1284c8691e2.tar.xz |
Use an enum class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210620 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/obj2yaml/Error.cpp | 9 | ||||
-rw-r--r-- | tools/obj2yaml/Error.h | 18 |
2 files changed, 9 insertions, 18 deletions
diff --git a/tools/obj2yaml/Error.cpp b/tools/obj2yaml/Error.cpp index 7f25d745e1..3aa472fc3d 100644 --- a/tools/obj2yaml/Error.cpp +++ b/tools/obj2yaml/Error.cpp @@ -24,7 +24,7 @@ public: const char *_obj2yaml_error_category::name() const { return "obj2yaml"; } std::string _obj2yaml_error_category::message(int ev) const { - switch (ev) { + switch (static_cast<obj2yaml_error>(ev)) { case obj2yaml_error::success: return "Success"; case obj2yaml_error::file_not_found: @@ -33,15 +33,14 @@ std::string _obj2yaml_error_category::message(int ev) const { return "Unrecognized file type."; case obj2yaml_error::unsupported_obj_file_format: return "Unsupported object file format."; - default: - llvm_unreachable("An enumerator of obj2yaml_error does not have a message " - "defined."); } + llvm_unreachable("An enumerator of obj2yaml_error does not have a message " + "defined."); } error_condition _obj2yaml_error_category::default_error_condition(int ev) const { - if (ev == obj2yaml_error::success) + if (static_cast<obj2yaml_error>(ev) == obj2yaml_error::success) return error_condition(); return errc::invalid_argument; } diff --git a/tools/obj2yaml/Error.h b/tools/obj2yaml/Error.h index a326664555..4aaf5c7942 100644 --- a/tools/obj2yaml/Error.h +++ b/tools/obj2yaml/Error.h @@ -16,18 +16,11 @@ namespace llvm { const error_category &obj2yaml_category(); -struct obj2yaml_error { - enum _ { - success = 0, - file_not_found, - unrecognized_file_format, - unsupported_obj_file_format - }; - _ v_; - - obj2yaml_error(_ v) : v_(v) {} - explicit obj2yaml_error(int v) : v_(_(v)) {} - operator int() const {return v_;} +enum class obj2yaml_error { + success = 0, + file_not_found, + unrecognized_file_format, + unsupported_obj_file_format }; inline error_code make_error_code(obj2yaml_error e) { @@ -35,7 +28,6 @@ inline error_code make_error_code(obj2yaml_error e) { } template <> struct is_error_code_enum<obj2yaml_error> : std::true_type { }; -template <> struct is_error_code_enum<obj2yaml_error::_> : std::true_type { }; } // namespace llvm |