diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-03 05:12:33 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-03 05:12:33 +0000 |
commit | 18b40871942620776499e77811c84a66627c8b1f (patch) | |
tree | 0de32a8333c81f0654efc45510e29eaea972cfdd | |
parent | dacea252b55cfb798c5e2bca91ce85ac27bbab2f (diff) | |
download | llvm-18b40871942620776499e77811c84a66627c8b1f.tar.gz llvm-18b40871942620776499e77811c84a66627c8b1f.tar.bz2 llvm-18b40871942620776499e77811c84a66627c8b1f.tar.xz |
Use an enum class.
Might also fix the windows build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210077 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/ProfileData/InstrProf.h | 10 | ||||
-rw-r--r-- | lib/ProfileData/InstrProf.cpp | 4 |
2 files changed, 3 insertions, 11 deletions
diff --git a/include/llvm/ProfileData/InstrProf.h b/include/llvm/ProfileData/InstrProf.h index 8457678c4e..b08084cd68 100644 --- a/include/llvm/ProfileData/InstrProf.h +++ b/include/llvm/ProfileData/InstrProf.h @@ -22,8 +22,7 @@ namespace llvm { const error_category &instrprof_category(); -struct instrprof_error { - enum ErrorType { +enum class instrprof_error { success = 0, eof, bad_magic, @@ -37,11 +36,6 @@ struct instrprof_error { hash_mismatch, count_mismatch, counter_overflow - }; - ErrorType V; - - instrprof_error(ErrorType V) : V(V) {} - operator ErrorType() const { return V; } }; inline error_code make_error_code(instrprof_error E) { @@ -49,8 +43,6 @@ inline error_code make_error_code(instrprof_error E) { } template <> struct is_error_code_enum<instrprof_error> : std::true_type {}; -template <> struct is_error_code_enum<instrprof_error::ErrorType> - : std::true_type {}; } // end namespace llvm diff --git a/lib/ProfileData/InstrProf.cpp b/lib/ProfileData/InstrProf.cpp index 60a8efb2a6..a6583130ee 100644 --- a/lib/ProfileData/InstrProf.cpp +++ b/lib/ProfileData/InstrProf.cpp @@ -21,7 +21,7 @@ namespace { class InstrProfErrorCategoryType : public error_category { const char *name() const override { return "llvm.instrprof"; } std::string message(int IE) const override { - instrprof_error::ErrorType E = static_cast<instrprof_error::ErrorType>(IE); + instrprof_error E = static_cast<instrprof_error>(IE); switch (E) { case instrprof_error::success: return "Success"; @@ -53,7 +53,7 @@ class InstrProfErrorCategoryType : public error_category { llvm_unreachable("A value of instrprof_error has no message."); } error_condition default_error_condition(int EV) const override { - if (EV == instrprof_error::success) + if (static_cast<instrprof_error>(EV) == instrprof_error::success) return error_condition(); return errc::invalid_argument; } |