Skip to content

Conversation

etcwilde
Copy link
Member

The Swift language version appears in the Swift interface and impacts how the interface is handled by the compiler when importing the module. The version only appears if it is set, which means that downstream projects setting the version explicitly may interpret the swift interface file differently.

This also factors the setting out into a separate file, which is used to set the C++ standard and Swift language version since it is the same across these libraries at this time. If this assumption changes, we can refactor as necessary and this structure shouldn't be seen as enforcement.

Finally, this patch moves setting the language version and standard variables before the languages are enabled. This ensures that the try-compile applies the appropriate flags when verifying that the compiler works.

The Swift language version appears in the Swift interface and impacts
how the interface is handled by the compiler when importing the module.
The version only appears if it is set, which means that downstream
projects setting the version explicitly may interpret the swift
interface file differently.

This also factors the setting out into a separate file, which is used to
set the C++ standard and Swift language version since it is the same
across these libraries at this time. If this assumption changes, we can
refactor as necessary and this structure shouldn't be seen as
enforcement.

Finally, this patch moves setting the language version and standard
variables before the languages are enabled. This ensures that the
try-compile applies the appropriate flags when verifying that the
compiler works.
@etcwilde
Copy link
Member Author

@swift-ci please smoke test

@tshortli
Copy link
Contributor

Might as well remove the explicit -swift-version 5 flags I added in #84309, right?

Reverting since we can use `CMAKE_Swift_LANGUAGE_VERSION` instead.

This reverts commit 6cc9a7d.
@etcwilde
Copy link
Member Author

@swift-ci please smoke test

@etcwilde
Copy link
Member Author

Might as well remove the explicit -swift-version 5 flags I added in #84309, right?

Yep. Good catch.

@etcwilde etcwilde merged commit 39941a7 into swiftlang:main Sep 27, 2025
3 checks passed
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