Skip to content

Commit b72d76f

Browse files
authored
Merge pull request #3221 from apple/eng/D97850-next
Add patch for https://reviews.llvm.org/D97850 for non-Apple platforms
2 parents 80d1c85 + 4fe59d6 commit b72d76f

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

clang/lib/Serialization/ModuleManager.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,14 @@ bool ModuleManager::lookupModuleFile(StringRef FileName, off_t ExpectedSize,
470470
Optional<FileEntryRef> FileOrErr =
471471
expectedToOptional(FileMgr.getFileRef(FileName, /*OpenFile=*/true,
472472
/*CacheFailure=*/false));
473+
#if !defined(__APPLE__)
474+
if (FileOrErr) {
475+
// On Linux ext4 FileManager's inode caching system does not
476+
// provide us correct behaviour for ModuleCache directories.
477+
// inode can be reused after PCM delete resulting in cache misleading.
478+
FileOrErr = FileMgr.getBypassFile(*FileOrErr);
479+
}
480+
#endif
473481
if (!FileOrErr)
474482
return false;
475483

0 commit comments

Comments
 (0)