[clang] [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (PR #135703)

Qiongsi Wu via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 15 10:41:51 PDT 2025


================
@@ -108,6 +108,32 @@ DependencyScanningFilesystemSharedCache::getShardForUID(
   return CacheShards[Hash % NumShards];
 }
 
+void DependencyScanningFilesystemSharedCache::diagnoseNegativeStatCachedPaths(
+    llvm::raw_ostream &OS, llvm::vfs::FileSystem &UnderlyingFS) const {
+  // Iterate through all shards and look for cached stat errors.
+  for (unsigned i = 0; i < NumShards; i++) {
+    const CacheShard &Shard = CacheShards[i];
----------------
qiongsiwu wrote:

I could not do a range-based for because `CacheShards` is an array and it does not have iterator support. Maybe there are simple ways to make a range-based for loop work here?

https://github.com/llvm/llvm-project/pull/135703


More information about the cfe-commits mailing list