Skip to content

Conversation

@cachemeifyoucan
Copy link
Contributor

Currently, dependency scanner is not reporting the redirecting files that are baked inside swift-frontend for platform support. This causes dependency scanner returns virtual path for those files, and swift-driver/build-system will not be able to correct validate the files on incremental build, causing incremental build to be almost clean builds.

This behavior issue is caused by the dependency scanning file system layer inside clang dependency scanner that caches stats. If the redirecting files are created underneath the layer, the real path is lost. This fixes the issue by moving the redirecting files above the caching layer using -ivfsoverlay option.

In addition to that, this commit also unifies how clang importer and clang dependency scanner initiate the VFS, making the logic much simpler.

@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-clang-importer-vfs branch from 57c160f to f359367 Compare December 17, 2025 16:56
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-clang-importer-vfs branch from f359367 to 9971051 Compare December 17, 2025 16:59
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-clang-importer-vfs branch from 9971051 to b0123c7 Compare December 17, 2025 18:49
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-clang-importer-vfs branch from b0123c7 to 31c7be3 Compare December 17, 2025 20:49
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please test

@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-clang-importer-vfs branch from 31c7be3 to d61b7d9 Compare December 17, 2025 21:33
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-clang-importer-vfs branch from d61b7d9 to 3741260 Compare December 17, 2025 22:02
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan cachemeifyoucan marked this pull request as draft December 17, 2025 22:41
@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-clang-importer-vfs branch from 3741260 to 9003f5f Compare December 17, 2025 23:12
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-clang-importer-vfs branch from 9003f5f to 561cb41 Compare December 18, 2025 17:40
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-clang-importer-vfs branch from 561cb41 to 81d84c1 Compare December 18, 2025 19:46
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

Currently, dependency scanner is not reporting the redirecting files
that are baked inside swift-frontend for platform support. This causes
dependency scanner returns virtual path for those files, and
swift-driver/build-system will not be able to correct validate the files
on incremental build, causing incremental build to be almost clean
builds.

This behavior issue is caused by the dependency scanning file system
layer inside clang dependency scanner that caches stats. If the
redirecting files are created underneath the layer, the real path is
lost. This fixes the issue by moving the redirecting files above the
caching layer using `-ivfsoverlay` option.

In addition to that, this commit also unifies how clang importer and
clang dependency scanner initiate the VFS, making the logic much
simpler.
@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-clang-importer-vfs branch from 81d84c1 to 0c4b596 Compare December 19, 2025 18:21
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant