mirror of
https://github.com/RPCS3/llvm.git
synced 2025-03-05 00:59:19 +00:00
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
This commit is contained in:
parent
dacea252b5
commit
18b4087194
@ -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
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user