Really unbreak Mac build.
[oota-llvm.git] / include / llvm / Object / Error.h
index 08f458790fb81d827cd7658064cc2ec5a9a01fbb..8b0570b02f8b163f00b5274b832ffd8ff5c6c210 100644 (file)
@@ -22,27 +22,29 @@ namespace object {
 const error_category &object_category();
 
 struct object_error {
-enum _ {
-  success = 0,
-  invalid_file_type,
-  parse_failed
+  enum Impl {
+    success = 0,
+    arch_not_found,
+    invalid_file_type,
+    parse_failed,
+    unexpected_eof
+  };
+  Impl V;
+
+  object_error(Impl V) : V(V) {}
+  operator Impl() const { return V; }
 };
-  _ v_;
 
-  object_error(_ v) : v_(v) {}
-  explicit object_error(int v) : v_(_(v)) {}
-  operator int() const {return v_;}
-};
+inline error_code make_error_code(object_error e) {
+  return error_code(static_cast<int>(e), object_category());
+}
 
 } // end namespace object.
 
 template <> struct is_error_code_enum<object::object_error> : true_type { };
 
-template <> struct is_error_code_enum<object::object_error::_> : true_type { };
-
-inline error_code make_error_code(object::object_error e) {
-  return error_code(static_cast<int>(e), object::object_category());
-}
+template <> struct is_error_code_enum<object::object_error::Impl> : true_type {
+};
 
 } // end namespace llvm.