コード例 #1
0
ファイル: ExecutionEngine.cpp プロジェクト: bratsche/llvm
/// removeModuleProvider - Remove a ModuleProvider from the list of modules.
/// Relases the Module from the ModuleProvider, materializing it in the
/// process, and returns the materialized Module.
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);
      clearGlobalMappingsFromModule(MP->getModule());
      return MP->releaseModule(ErrInfo);
    }
  }
  return NULL;
}