https://github.com/jansvoboda11 created https://github.com/llvm/llvm-project/pull/215968
Explicit module files are a (binary) input to the compilation. Just like any other input file they are expected to not change during compilation. There's no reason to disable failure caching in the `FileManager` for them. >From 2a5c2ff9a202d29466206374da0feb4abd141e3f Mon Sep 17 00:00:00 2001 From: Jan Svoboda <[email protected]> Date: Thu, 13 Aug 2026 08:31:52 +0200 Subject: [PATCH] [clang][modules] Cache failures for explicit modules Explicit module files are a (binary) input to the compilation. Just like any other input file they are expected to not change during compilation. There's no reason to disable failure caching in the `FileManager` for them. --- clang/lib/Serialization/ModuleManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/lib/Serialization/ModuleManager.cpp b/clang/lib/Serialization/ModuleManager.cpp index 920cf07736407..cbb9de32f2b15 100644 --- a/clang/lib/Serialization/ModuleManager.cpp +++ b/clang/lib/Serialization/ModuleManager.cpp @@ -56,7 +56,7 @@ ModuleManager::makeKey(const ModuleFileName &Name) const { return ModuleFileKey(Buf); } else { if (auto ModuleFile = FileMgr.getOptionalFileRef(Name, /*OpenFile=*/true, - /*CacheFailure=*/false, + /*CacheFailure=*/true, /*IsText=*/false)) return ModuleFileKey(*ModuleFile); } @@ -206,7 +206,7 @@ AddModuleResult ModuleManager::addModule( FileName == StringRef("-") ? FileMgr.getSTDIN() : FileMgr.getFileRef(FileName, /*OpenFile=*/true, - /*CacheFailure=*/false, + /*CacheFailure=*/true, /*IsText=*/false); if (!Entry) return Entry.takeError(); _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
