aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/lto/lto.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/tools/lto/lto.cpp b/tools/lto/lto.cpp
index b9d76d6738..b00f76539b 100644
--- a/tools/lto/lto.cpp
+++ b/tools/lto/lto.cpp
@@ -102,16 +102,18 @@ findExternalRefs(Value *value, std::set<std::string> &references,
findExternalRefs(c->getOperand(i), references, mangler);
}
-/// If Moduel with InputFilename is available then remove it.
+/// If Module with InputFilename is available then remove it from allModules
+/// and call delete on it.
void
LTO::removeModule (const std::string &InputFilename)
{
NameToModuleMap::iterator pos = allModules.find(InputFilename.c_str());
- if (pos != allModules.end()) {
- Module *m = allModules[InputFilename.c_str()];
- allModules.erase(pos);
- delete m;
- }
+ if (pos == allModules.end())
+ return;
+
+ Module *m = pos->second;
+ allModules.erase(pos);
+ delete m;
}
/// InputFilename is a LLVM bytecode file. If Module with InputFilename is