Skip to content

[SourceKit] Don’t set DisableModulesValidateSystemDependencies to true #74063

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

Merged
merged 1 commit into from
Jun 1, 2024

Conversation

ahoppen
Copy link
Member

@ahoppen ahoppen commented May 31, 2024

It appears that swiftlang/llvm-project@a6ebd30 changed the behavior of -fno-modules-validate-system-headers (aka. DisableModulesValidateSystemDependencies) in conjunction with -fmodules-validate-once-per-build-session: Before that change, -fno-modules-validate-system-headers needed to be passed for -fmodules-validate-once-per-build-session to have any effect (we were always validating system dependencies if -fno-modules-validate-once-per-build-session was not set). After the change, -fno-modules-validate-once-per-build-session causes system dependencies to never be validated, independent of the build session timestamp.

This change should have no effect on Xcode because it adds -fmodules-validate-system-headers to the compiler arguments for Swift files, which overrides SearchPathOpts.DisableModulesValidateSystemDependencies = true;

rdar://129046909

@ahoppen
Copy link
Member Author

ahoppen commented May 31, 2024

@swift-ci Please smoke test

…true`

It appears that swiftlang/llvm-project@a6ebd30 changed the behavior of `-fno-modules-validate-system-headers` (aka. `DisableModulesValidateSystemDependencies`) in conjunction with `-fmodules-validate-once-per-build-session`: Before that change, `-fno-modules-validate-system-headers` needed to be passed for `-fmodules-validate-once-per-build-session` to have any effect (we were always validating system dependencies if `-fno-modules-validate-once-per-build-session` was not set). After the change, `-fno-modules-validate-once-per-build-session` causes system dependencies to never be validated, independent of the build session timestamp.

This change should have no effect on Xcode because it adds `-fmodules-validate-system-headers` to the compiler arguments for Swift files, which overrides `SearchPathOpts.DisableModulesValidateSystemDependencies = true;`
@ahoppen ahoppen force-pushed the validate-system-dependencies branch from 5e205e2 to ccdd620 Compare May 31, 2024 23:00
@ahoppen
Copy link
Member Author

ahoppen commented May 31, 2024

@swift-ci Please smoke test

@ahoppen ahoppen merged commit a6f5f21 into swiftlang:main Jun 1, 2024
3 checks passed
@ahoppen ahoppen deleted the validate-system-dependencies branch June 1, 2024 04:24
Copy link
Contributor

@hamishknight hamishknight left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

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.

3 participants