summaryrefslogtreecommitdiff
path: root/tools/obj2yaml
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-06-11 01:09:09 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-06-11 01:09:09 +0000
commitc3c6d5fcb8032100b2b6bc48175bb1284c8691e2 (patch)
tree8fca72c535265640d712a5766ee45b864b3e3166 /tools/obj2yaml
parentf68129838ba5cb09d13ed53092893e0220a9e773 (diff)
downloadllvm-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/obj2yaml')
-rw-r--r--tools/obj2yaml/Error.cpp9
-rw-r--r--tools/obj2yaml/Error.h18
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