mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-13 09:33:50 +00:00
Add removeModuleProvider()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43002 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f656b985ec
commit
73d0e211a3
@ -97,7 +97,11 @@ public:
|
||||
void addModuleProvider(ModuleProvider *P) {
|
||||
Modules.push_back(P);
|
||||
}
|
||||
|
||||
|
||||
/// removeModuleProvider - Remove a ModuleProvider from the list of modules.
|
||||
/// Release module from ModuleProvider.
|
||||
Module* removeModuleProvider(ModuleProvider *P, std::string *ErrInfo = 0);
|
||||
|
||||
/// FindFunctionNamed - Search all of the active modules to find the one that
|
||||
/// defines FnName. This is very slow operation and shouldn't be used for
|
||||
/// general code.
|
||||
|
@ -51,6 +51,21 @@ ExecutionEngine::~ExecutionEngine() {
|
||||
delete Modules[i];
|
||||
}
|
||||
|
||||
/// removeModuleProvider - Remove a ModuleProvider from the list of modules.
|
||||
/// Release module from ModuleProvider.
|
||||
Module* ExecutionEngine::removeModuleProvider(ModuleProvider *P,
|
||||
std::string *ErrInfo) {
|
||||
for(SmallVector<ModuleProvider *, 1>::iterator I = Modules.begin(),
|
||||
E = Modules.end(); I != E; ++I) {
|
||||
ModuleProvider *MP = *I;
|
||||
if (MP == P) {
|
||||
Modules.erase(I);
|
||||
return MP->releaseModule(ErrInfo);
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/// FindFunctionNamed - Search all of the active modules to find the one that
|
||||
/// defines FnName. This is very slow operation and shouldn't be used for
|
||||
/// general code.
|
||||
|
Loading…
x
Reference in New Issue
Block a user