summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-06-11 01:22:20 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-06-11 01:22:20 +0000
commite869d888432a02cb524d712ed1e3d64dbc3d0a85 (patch)
treeedab1f3e607558be58cb1ec0a06acc5f76e849ee /tools
parent095271bcf4ac68f7b21ae4c33dc14ad8602e331c (diff)
downloadllvm-e869d888432a02cb524d712ed1e3d64dbc3d0a85.tar.gz
llvm-e869d888432a02cb524d712ed1e3d64dbc3d0a85.tar.bz2
llvm-e869d888432a02cb524d712ed1e3d64dbc3d0a85.tar.xz
Use an enum class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210623 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/llvm-readobj/Error.cpp13
-rw-r--r--tools/llvm-readobj/Error.h22
2 files changed, 13 insertions, 22 deletions
diff --git a/tools/llvm-readobj/Error.cpp b/tools/llvm-readobj/Error.cpp
index 424dfbea06..a68ebeb58e 100644
--- a/tools/llvm-readobj/Error.cpp
+++ b/tools/llvm-readobj/Error.cpp
@@ -29,8 +29,8 @@ const char *_readobj_error_category::name() const {
return "llvm.readobj";
}
-std::string _readobj_error_category::message(int ev) const {
- switch (ev) {
+std::string _readobj_error_category::message(int EV) const {
+ switch (static_cast<readobj_error>(EV)) {
case readobj_error::success: return "Success";
case readobj_error::file_not_found:
return "No such file.";
@@ -42,14 +42,13 @@ std::string _readobj_error_category::message(int ev) const {
return "Unsupported object file format.";
case readobj_error::unknown_symbol:
return "Unknown symbol.";
- default:
- llvm_unreachable("An enumerator of readobj_error does not have a message "
- "defined.");
}
+ llvm_unreachable("An enumerator of readobj_error does not have a message "
+ "defined.");
}
-error_condition _readobj_error_category::default_error_condition(int ev) const {
- if (ev == readobj_error::success)
+error_condition _readobj_error_category::default_error_condition(int EV) const {
+ if (static_cast<readobj_error>(EV) == readobj_error::success)
return error_condition();
return errc::invalid_argument;
}
diff --git a/tools/llvm-readobj/Error.h b/tools/llvm-readobj/Error.h
index 5129b4e57c..ebf652e9a1 100644
--- a/tools/llvm-readobj/Error.h
+++ b/tools/llvm-readobj/Error.h
@@ -20,20 +20,13 @@ 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_;}
+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) {
@@ -41,7 +34,6 @@ inline error_code make_error_code(readobj_error e) {
}
template <> struct is_error_code_enum<readobj_error> : std::true_type { };
-template <> struct is_error_code_enum<readobj_error::_> : std::true_type { };
} // namespace llvm