Never cache the result of a module file lookup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174744 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp
index 0c5a1fa..ce6572a 100644
--- a/lib/Frontend/CompilerInstance.cpp
+++ b/lib/Frontend/CompilerInstance.cpp
@@ -996,7 +996,8 @@
BuildingModule = true;
compileModule(*this, ModuleNameLoc, Module, ModuleFileName);
- ModuleFile = FileMgr->getFile(ModuleFileName);
+ ModuleFile = FileMgr->getFile(ModuleFileName, /*OpenFile=*/false,
+ /*CacheFailure=*/false);
if (!ModuleFile && getPreprocessorOpts().FailedModules)
getPreprocessorOpts().FailedModules->addFailed(ModuleName);
@@ -1079,14 +1080,14 @@
<< ModuleName
<< SourceRange(ImportLoc, ModuleNameLoc);
ModuleBuildFailed = true;
-
return ModuleLoadResult();
}
compileModule(*this, ModuleNameLoc, Module, ModuleFileName);
// Try loading the module again.
- ModuleFile = FileMgr->getFile(ModuleFileName);
+ ModuleFile = FileMgr->getFile(ModuleFileName, /*OpenFile=*/false,
+ /*CacheFailure=*/false);
if (!ModuleFile ||
ModuleManager->ReadAST(ModuleFileName,
serialization::MK_Module, ImportLoc,