jansvoboda11 created this revision. jansvoboda11 added reviewers: Bigcheese, benlangmuir. Herald added a subscriber: ributzka. Herald added a project: All. jansvoboda11 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
The `-ivfsoverlay` flag was only being respected when the scanner was instructed to minimize the inputs. This patch respects that flag even in canonical preprocessing mode. Depends on D135414 <https://reviews.llvm.org/D135414>. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D135416 Files: clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp clang/test/ClangScanDeps/vfsoverlay.cpp Index: clang/test/ClangScanDeps/vfsoverlay.cpp =================================================================== --- clang/test/ClangScanDeps/vfsoverlay.cpp +++ clang/test/ClangScanDeps/vfsoverlay.cpp @@ -8,8 +8,8 @@ // RUN: cp %S/Inputs/header.h %t.dir/Inputs/header.h // RUN: sed -e "s|DIR|%/t.dir|g" %S/Inputs/vfsoverlay_cdb.json > %t.cdb // -// RUN: clang-scan-deps -compilation-database %t.cdb -j 1 | \ -// RUN: FileCheck %s +// RUN: clang-scan-deps -compilation-database %t.cdb -mode preprocess-dependency-directives -j 1 | FileCheck %s +// RUN: clang-scan-deps -compilation-database %t.cdb -mode preprocess -j 1 | FileCheck %s #include "not_real.h" Index: clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp =================================================================== --- clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp +++ clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp @@ -192,6 +192,11 @@ ScanInstance.getFrontendOpts().ModulesShareFileManager = false; ScanInstance.setFileManager(FileMgr); + // Support for virtual file system overlays. + FileMgr->setVirtualFileSystem(createVFSFromCompilerInvocation( + ScanInstance.getInvocation(), ScanInstance.getDiagnostics(), + FileMgr->getVirtualFileSystemPtr())); + ScanInstance.createSourceManager(*FileMgr); llvm::StringSet<> PrebuiltModulesInputFiles;
Index: clang/test/ClangScanDeps/vfsoverlay.cpp =================================================================== --- clang/test/ClangScanDeps/vfsoverlay.cpp +++ clang/test/ClangScanDeps/vfsoverlay.cpp @@ -8,8 +8,8 @@ // RUN: cp %S/Inputs/header.h %t.dir/Inputs/header.h // RUN: sed -e "s|DIR|%/t.dir|g" %S/Inputs/vfsoverlay_cdb.json > %t.cdb // -// RUN: clang-scan-deps -compilation-database %t.cdb -j 1 | \ -// RUN: FileCheck %s +// RUN: clang-scan-deps -compilation-database %t.cdb -mode preprocess-dependency-directives -j 1 | FileCheck %s +// RUN: clang-scan-deps -compilation-database %t.cdb -mode preprocess -j 1 | FileCheck %s #include "not_real.h" Index: clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp =================================================================== --- clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp +++ clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp @@ -192,6 +192,11 @@ ScanInstance.getFrontendOpts().ModulesShareFileManager = false; ScanInstance.setFileManager(FileMgr); + // Support for virtual file system overlays. + FileMgr->setVirtualFileSystem(createVFSFromCompilerInvocation( + ScanInstance.getInvocation(), ScanInstance.getDiagnostics(), + FileMgr->getVirtualFileSystemPtr())); + ScanInstance.createSourceManager(*FileMgr); llvm::StringSet<> PrebuiltModulesInputFiles;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits