so that it can access them. These are not intended to be externally accessible APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113380
91177308-0d34-0410-b5e6-
96231b3b80d8
LLVMContext(LLVMContext&);
void operator=(LLVMContext&);
LLVMContext(LLVMContext&);
void operator=(LLVMContext&);
-public:
- LLVMContextImpl *const pImpl;
- LLVMContext();
- ~LLVMContext();
-
/// addModule - Register a module as being instantiated in this context. If
/// the context is deleted, the module will be deleted as well.
void addModule(Module*);
/// addModule - Register a module as being instantiated in this context. If
/// the context is deleted, the module will be deleted as well.
void addModule(Module*);
/// removeModule - Unregister a module from this context.
void removeModule(Module*);
/// removeModule - Unregister a module from this context.
void removeModule(Module*);
+ // Module needs access to the add/removeModule methods.
+ friend class Module;
+
+public:
+ LLVMContextImpl *const pImpl;
+ LLVMContext();
+ ~LLVMContext();
+
// Pinned metadata names, which always have the same value. This is a
// compile-time performance optimization, not a correctness optimization.
enum {
// Pinned metadata names, which always have the same value. This is a
// compile-time performance optimization, not a correctness optimization.
enum {