diff options
Diffstat (limited to 'llvm/lib/Support/Error.cpp')
-rw-r--r-- | llvm/lib/Support/Error.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/Support/Error.cpp b/llvm/lib/Support/Error.cpp index 8bfc8ee..fbe86f2 100644 --- a/llvm/lib/Support/Error.cpp +++ b/llvm/lib/Support/Error.cpp @@ -9,7 +9,6 @@ #include "llvm/Support/Error.h" #include "llvm/ADT/Twine.h" #include "llvm/Support/ErrorHandling.h" -#include "llvm/Support/ManagedStatic.h" #include <system_error> using namespace llvm; @@ -46,7 +45,10 @@ namespace { } -static ManagedStatic<ErrorErrorCategory> ErrorErrorCat; +ErrorErrorCategory &getErrorErrorCat() { + static ErrorErrorCategory ErrorErrorCat; + return ErrorErrorCat; +} namespace llvm { @@ -71,19 +73,19 @@ void logAllUnhandledErrors(Error E, raw_ostream &OS, Twine ErrorBanner) { std::error_code ErrorList::convertToErrorCode() const { return std::error_code(static_cast<int>(ErrorErrorCode::MultipleErrors), - *ErrorErrorCat); + getErrorErrorCat()); } std::error_code inconvertibleErrorCode() { return std::error_code(static_cast<int>(ErrorErrorCode::InconvertibleError), - *ErrorErrorCat); + getErrorErrorCat()); } std::error_code FileError::convertToErrorCode() const { std::error_code NestedEC = Err->convertToErrorCode(); if (NestedEC == inconvertibleErrorCode()) return std::error_code(static_cast<int>(ErrorErrorCode::FileError), - *ErrorErrorCat); + getErrorErrorCat()); return NestedEC; } |