Revert "Revert "[Dependency Scanning] Use a standalone DependencyScanningFilesystemon the scanner, sharing a common status cache from Clang's dependency service cache""

This commit is contained in:
Artem Chikin
2024-05-01 09:45:12 -07:00
committed by GitHub
parent 0bbe26d7c2
commit a4f72c3078
3 changed files with 11 additions and 19 deletions

View File

@@ -153,6 +153,17 @@ ModuleDependencyScanningWorker::ModuleDependencyScanningWorker(
auto ClangModuleCachePath = getModuleCachePathFromClang(
ScanASTContext.getClangModuleLoader()->getClangInstance());
auto &FEOpts = ScanCompilerInvocation.getFrontendOptions();
// Configure the filesystem to use the same shared `stat` cache as the Clang
// worker uses.
if (!globalScanningService.CacheFS) {
auto DepFS = llvm::makeIntrusiveRefCnt<
clang::tooling::dependencies::DependencyScanningWorkerFilesystem>(
globalScanningService.ClangScanningService->getSharedCache(),
ScanASTContext.SourceMgr.getFileSystem());
ScanASTContext.SourceMgr.setFileSystem(std::move(DepFS));
}
ModuleInterfaceLoaderOptions LoaderOpts(FEOpts);
ScanningASTDelegate = std::make_unique<InterfaceSubContextDelegateImpl>(
ScanASTContext.SourceMgr, &ScanASTContext.Diags,