X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FObject%2FError.cpp;h=9d252697ae528f9b6eb35603b379dfe8237cc800;hb=cc0d35a2e811dbc69df266322cc80807fa489359;hp=25946257ab5aeb2e4e9ea3af761a982474373a1f;hpb=25b15777df42d5d608810f6881b6c98107481d69;p=oota-llvm.git diff --git a/lib/Object/Error.cpp b/lib/Object/Error.cpp index 25946257ab5..9d252697ae5 100644 --- a/lib/Object/Error.cpp +++ b/lib/Object/Error.cpp @@ -18,11 +18,10 @@ using namespace llvm; using namespace object; namespace { -class _object_error_category : public _do_message { +class _object_error_category : public std::error_category { public: - virtual const char* name() const; - virtual std::string message(int ev) const; - virtual error_condition default_error_condition(int ev) const; + const char* name() const LLVM_NOEXCEPT override; + std::string message(int ev) const override; }; } @@ -30,28 +29,24 @@ const char *_object_error_category::name() const { return "llvm.object"; } -std::string _object_error_category::message(int ev) const { - switch (ev) { +std::string _object_error_category::message(int EV) const { + object_error E = static_cast(EV); + switch (E) { case object_error::success: return "Success"; + case object_error::arch_not_found: + return "No object file for requested architecture"; case object_error::invalid_file_type: return "The file was not recognized as a valid object file"; case object_error::parse_failed: return "Invalid data was encountered while parsing the file"; case object_error::unexpected_eof: return "The end of the file was unexpectedly encountered"; - default: - llvm_unreachable("An enumerator of object_error does not have a message " - "defined."); } + llvm_unreachable("An enumerator of object_error does not have a message " + "defined."); } -error_condition _object_error_category::default_error_condition(int ev) const { - if (ev == object_error::success) - return errc::success; - return errc::invalid_argument; -} - -const error_category &object::object_category() { +const std::error_category &object::object_category() { static _object_error_category o; return o; }