[llvm] r210620 - Use an enum class.

Rafael Espindola rafael.espindola at gmail.com
Tue Jun 10 18:09:09 PDT 2014


Author: rafael
Date: Tue Jun 10 20:09:09 2014
New Revision: 210620

URL: http://llvm.org/viewvc/llvm-project?rev=210620&view=rev
Log:
Use an enum class.

Modified:
    llvm/trunk/tools/obj2yaml/Error.cpp
    llvm/trunk/tools/obj2yaml/Error.h

Modified: llvm/trunk/tools/obj2yaml/Error.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/obj2yaml/Error.cpp?rev=210620&r1=210619&r2=210620&view=diff
==============================================================================
--- llvm/trunk/tools/obj2yaml/Error.cpp (original)
+++ llvm/trunk/tools/obj2yaml/Error.cpp Tue Jun 10 20:09:09 2014
@@ -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::me
     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;
 }

Modified: llvm/trunk/tools/obj2yaml/Error.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/obj2yaml/Error.h?rev=210620&r1=210619&r2=210620&view=diff
==============================================================================
--- llvm/trunk/tools/obj2yaml/Error.h (original)
+++ llvm/trunk/tools/obj2yaml/Error.h Tue Jun 10 20:09:09 2014
@@ -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(obj2ya
 }
 
 template <> struct is_error_code_enum<obj2yaml_error> : std::true_type { };
-template <> struct is_error_code_enum<obj2yaml_error::_> : std::true_type { };
 
 } // namespace llvm
 





More information about the llvm-commits mailing list