diff options
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
-rw-r--r-- | clang/lib/Serialization/ModuleManager.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Serialization/ModuleManager.cpp b/clang/lib/Serialization/ModuleManager.cpp index 358dd0e..609eedf 100644 --- a/clang/lib/Serialization/ModuleManager.cpp +++ b/clang/lib/Serialization/ModuleManager.cpp @@ -204,10 +204,10 @@ void ModuleManager::removeModules( return victimSet.count(MF); }; // Remove any references to the now-destroyed modules. - // - // FIXME: this should probably clean up Imports as well. - for (auto I = begin(); I != First; ++I) + for (auto I = begin(); I != First; ++I) { + I->Imports.remove_if(IsVictim); I->ImportedBy.remove_if(IsVictim); + } Roots.erase(std::remove_if(Roots.begin(), Roots.end(), IsVictim), Roots.end()); |