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

Reply via email to