aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/llvm/LLVMContext.h3
-rw-r--r--lib/VMCore/LLVMContext.cpp7
2 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm/LLVMContext.h b/include/llvm/LLVMContext.h
index 01c64a8..1d95502 100644
--- a/include/llvm/LLVMContext.h
+++ b/include/llvm/LLVMContext.h
@@ -197,6 +197,9 @@ public:
VectorType* getVectorTypeTruncatedElement(const VectorType* VTy);
};
+/// FOR BACKWARDS COMPATIBILITY - Returns a global context.
+LLVMContext* getGlobalContext();
+
}
#endif
diff --git a/lib/VMCore/LLVMContext.cpp b/lib/VMCore/LLVMContext.cpp
index e0fe6ab..09c7fcc 100644
--- a/lib/VMCore/LLVMContext.cpp
+++ b/lib/VMCore/LLVMContext.cpp
@@ -15,10 +15,17 @@
#include "llvm/LLVMContext.h"
#include "llvm/Constants.h"
#include "llvm/DerivedTypes.h"
+#include "llvm/Support/ManagedStatic.h"
#include "LLVMContextImpl.h"
using namespace llvm;
+static ManagedStatic<LLVMContext> GlobalContext;
+
+LLVMContext* getGlobalContext() {
+ return &*GlobalContext;
+}
+
LLVMContext::LLVMContext() : pImpl(new LLVMContextImpl()) { }
LLVMContext::~LLVMContext() { delete pImpl; }