llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Jan Svoboda (jansvoboda11)

<details>
<summary>Changes</summary>

Normalizing an empty modules cache path results in an incorrect non-empty path 
(the working directory). This PR conditionalizes more code to avoid this. 
Tested downstream by swift/llvm-project and the 
`DependencyScanningCAPITests.DependencyScanningFSCacheOutOfDate` unit test.

---
Full diff: https://github.com/llvm/llvm-project/pull/159605.diff


1 Files Affected:

- (modified) clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp 
(+6-5) 


``````````diff
diff --git a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp 
b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
index 0a12c479bf8e3..16cb56fddc006 100644
--- a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
+++ b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
@@ -445,13 +445,14 @@ class DependencyScanningAction {
 
     // Use the dependency scanning optimized file system if requested to do so.
     if (DepFS) {
-      SmallString<256> ModulesCachePath;
-      normalizeModuleCachePath(
-          *FileMgr, ScanInstance.getHeaderSearchOpts().ModuleCachePath,
-          ModulesCachePath);
       DepFS->resetBypassedPathPrefix();
-      if (!ModulesCachePath.empty())
+      if (!ScanInstance.getHeaderSearchOpts().ModuleCachePath.empty()) {
+        SmallString<256> ModulesCachePath;
+        normalizeModuleCachePath(
+            *FileMgr, ScanInstance.getHeaderSearchOpts().ModuleCachePath,
+            ModulesCachePath);
         DepFS->setBypassedPathPrefix(ModulesCachePath);
+      }
 
       ScanInstance.setDependencyDirectivesGetter(
           std::make_unique<ScanningDependencyDirectivesGetter>(*FileMgr));

``````````

</details>


https://github.com/llvm/llvm-project/pull/159605
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to