Eliminating static destructor for the BitCodeErrorCategory by converting to a ManagedStatic.

Summary: This is part of the overall goal of removing static initializers from LLVM.

Reviewers: chandlerc

Reviewed By: chandlerc

Subscribers: chandlerc, llvm-commits

Differential Revision: http://reviews.llvm.org/D5416

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218149 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Bieneman 2014-09-19 20:29:02 +00:00
parent dc58d1e099
commit 4ea1a1185a

View File

@ -25,6 +25,8 @@
#include "llvm/Support/MathExtras.h" #include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h" #include "llvm/Support/raw_ostream.h"
#include "llvm/Support/ManagedStatic.h"
using namespace llvm; using namespace llvm;
enum { enum {
@ -3502,9 +3504,10 @@ class BitcodeErrorCategoryType : public std::error_category {
}; };
} }
static ManagedStatic<BitcodeErrorCategoryType> ErrorCategory;
const std::error_category &llvm::BitcodeErrorCategory() { const std::error_category &llvm::BitcodeErrorCategory() {
static BitcodeErrorCategoryType O; return *ErrorCategory;
return O;
} }
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//