diff options
author | Rui Ueyama <ruiu@google.com> | 2013-10-08 00:43:50 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2013-10-08 00:43:50 +0000 |
commit | f8c54842d6d944c0d0aba8638b985f354ef32d6a (patch) | |
tree | 06ab1568c6f47271b61075f2bf4f244526636502 /lld/lib/Core/Error.cpp | |
parent | 30332b19d3a305536d66dac5c9c8d58a8f8a6419 (diff) | |
download | bcm5719-llvm-f8c54842d6d944c0d0aba8638b985f354ef32d6a.tar.gz bcm5719-llvm-f8c54842d6d944c0d0aba8638b985f354ef32d6a.zip |
Convert error code structs to scoped enums.
Summary:
The original code with enum "_" is intended to emulate scoped enums.
Now we have real scoped enums, so use it.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1852
llvm-svn: 192148
Diffstat (limited to 'lld/lib/Core/Error.cpp')
-rw-r--r-- | lld/lib/Core/Error.cpp | 64 |
1 files changed, 27 insertions, 37 deletions
diff --git a/lld/lib/Core/Error.cpp b/lld/lib/Core/Error.cpp index dffe8ff5070..60e49645e34 100644 --- a/lld/lib/Core/Error.cpp +++ b/lld/lib/Core/Error.cpp @@ -20,27 +20,24 @@ public: } virtual std::string message(int ev) const { - switch (ev) { - case native_reader_error::success: + if (native_reader_error(ev) == native_reader_error::success) return "Success"; - case native_reader_error::unknown_file_format: + if (native_reader_error(ev) == native_reader_error::unknown_file_format) return "Unknown file format"; - case native_reader_error::file_too_short: + if (native_reader_error(ev) == native_reader_error::file_too_short) return "file truncated"; - case native_reader_error::file_malformed: + if (native_reader_error(ev) == native_reader_error::file_malformed) return "file malformed"; - case native_reader_error::memory_error: + if (native_reader_error(ev) == native_reader_error::memory_error) return "out of memory"; - case native_reader_error::unknown_chunk_type: + if (native_reader_error(ev) == native_reader_error::unknown_chunk_type) return "unknown chunk type"; - default: - llvm_unreachable("An enumerator of native_reader_error does not have a " - "message defined."); - } + llvm_unreachable("An enumerator of native_reader_error does not have a " + "message defined."); } virtual llvm::error_condition default_error_condition(int ev) const { - if (ev == native_reader_error::success) + if (native_reader_error(ev) == native_reader_error::success) return llvm::errc::success; return llvm::errc::invalid_argument; } @@ -58,21 +55,18 @@ public: } virtual std::string message(int ev) const { - switch (ev) { - case yaml_reader_error::success: + if (yaml_reader_error(ev) == yaml_reader_error::success) return "Success"; - case yaml_reader_error::unknown_keyword: + if (yaml_reader_error(ev) == yaml_reader_error::unknown_keyword) return "Unknown keyword found in yaml file"; - case yaml_reader_error::illegal_value: + if (yaml_reader_error(ev) == yaml_reader_error::illegal_value) return "Bad value found in yaml file"; - default: - llvm_unreachable("An enumerator of yaml_reader_error does not have a " - "message defined."); - } + llvm_unreachable("An enumerator of yaml_reader_error does not have a " + "message defined."); } virtual llvm::error_condition default_error_condition(int ev) const { - if (ev == yaml_reader_error::success) + if (yaml_reader_error(ev) == yaml_reader_error::success) return llvm::errc::success; return llvm::errc::invalid_argument; } @@ -88,20 +82,19 @@ public: virtual const char *name() const { return "lld.linker-script.reader"; } virtual std::string message(int ev) const { - switch (ev) { - case static_cast<int>(linker_script_reader_error::success): + linker_script_reader_error e = linker_script_reader_error(ev); + if (e == linker_script_reader_error::success) return "Success"; - case static_cast<int>(linker_script_reader_error::parse_error): + if (e == linker_script_reader_error::parse_error) return "Error parsing linker script"; - default: - llvm_unreachable( - "An enumerator of linker_script_reader_error does not have a " - "message defined."); - } + llvm_unreachable( + "An enumerator of linker_script_reader_error does not have a " + "message defined."); } virtual llvm::error_condition default_error_condition(int ev) const { - if (ev == static_cast<int>(linker_script_reader_error::success)) + linker_script_reader_error e = linker_script_reader_error(ev); + if (e == linker_script_reader_error::success) return llvm::errc::success; return llvm::errc::invalid_argument; } @@ -117,17 +110,14 @@ public: virtual const char *name() const { return "lld.inputGraph.parse"; } virtual std::string message(int ev) const { - switch (ev) { - case input_graph_error::success: + if (input_graph_error(ev) == input_graph_error::success) return "Success"; - default: - llvm_unreachable("An enumerator of input_graph_error does not have a " - "message defined."); - } + llvm_unreachable("An enumerator of input_graph_error does not have a " + "message defined."); } virtual llvm::error_condition default_error_condition(int ev) const { - if (ev == input_graph_error::success) + if (input_graph_error(ev) == input_graph_error::success) return llvm::errc::success; return llvm::errc::invalid_argument; } |