-
Notifications
You must be signed in to change notification settings - Fork 10.6k
[DependencyScan] Correct setup clang VFS for dependency scanning #86104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
[DependencyScan] Correct setup clang VFS for dependency scanning #86104
Conversation
|
@swift-ci please smoke test |
0ff27f8 to
57c160f
Compare
|
@swift-ci please smoke test |
57c160f to
f359367
Compare
|
@swift-ci please smoke test |
f359367 to
9971051
Compare
|
@swift-ci please smoke test |
9971051 to
b0123c7
Compare
|
@swift-ci please smoke test |
b0123c7 to
31c7be3
Compare
|
@swift-ci please smoke test |
|
@swift-ci please test |
31c7be3 to
d61b7d9
Compare
|
@swift-ci please smoke test |
d61b7d9 to
3741260
Compare
|
@swift-ci please smoke test |
3741260 to
9003f5f
Compare
|
@swift-ci please smoke test |
9003f5f to
561cb41
Compare
|
@swift-ci please smoke test |
561cb41 to
81d84c1
Compare
|
@swift-ci please smoke test |
81d84c1 to
0c4b596
Compare
|
@swift-ci please smoke test |
0c4b596 to
d2bc03e
Compare
|
@swift-ci please smoke test |
d2bc03e to
dcd7af3
Compare
|
@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.
dcd7af3 to
35d8d1a
Compare
|
@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
-ivfsoverlayoption.In addition to that, this commit also unifies how clang importer and clang dependency scanner initiate the VFS, making the logic much simpler.