From db47ed0925ce97f3134189c96ebc35b2cdae1ce3 Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Tue, 30 Jun 2009 23:39:59 +0000 Subject: [PATCH] Add a global context, for easing backwards compatibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74574 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/LLVMContext.h | 3 +++ lib/VMCore/LLVMContext.cpp | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/include/llvm/LLVMContext.h b/include/llvm/LLVMContext.h index 01c64a81e04..1d95502bcd6 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 e0fe6ab7929..09c7fcc8cf1 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 GlobalContext; + +LLVMContext* getGlobalContext() { + return &*GlobalContext; +} + LLVMContext::LLVMContext() : pImpl(new LLVMContextImpl()) { } LLVMContext::~LLVMContext() { delete pImpl; }