-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Concurrency] Add compatibility overrides to Concurrency library. #36390
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
[Concurrency] Add compatibility overrides to Concurrency library. #36390
Conversation
81d13dd
to
53a5b8f
Compare
65fef2a
to
bac946b
Compare
@swift-ci please test |
Build failed |
bac946b
to
ad1e6a4
Compare
@swift-ci please test |
Build failed |
ad1e6a4
to
e06a88a
Compare
@swift-ci please test |
@swift-ci please test windows platform |
Build failed |
e06a88a
to
949694d
Compare
@swift-ci please test |
Build failed |
949694d
to
7bc4ea6
Compare
@swift-ci please test |
Build failed |
7bc4ea6
to
10fa783
Compare
@swift-ci please test |
Build failed |
be0cabf
to
5f72d79
Compare
Take the existing CompatibilityOverride mechanism and generalize it so it can be used in both the runtime and Concurrency libraries. The mechanism is preprocessor-heavy, so this requires some tricks. Use the SWIFT_TARGET_LIBRARY_NAME define to distinguish the libraries, and use a different .def file and mach-o section name accordingly. We want the global/main executor functions to be a little more flexible. Instead of using the override mechanism, we expose function pointers that can be set by the compatibility library, or by any other code that wants to use a custom implementation. rdar://73726764
5f72d79
to
6aab257
Compare
@swift-ci please test |
@swift-ci please smoke test and merge |
@swift-ci please smoke test os x platform |
2 similar comments
@swift-ci please smoke test os x platform |
@swift-ci please smoke test os x platform |
Take the existing
CompatibilityOverride
mechanism and generalize it so it can be used in both the runtime and Concurrency libraries. The mechanism is preprocessor-heavy, so this requires some tricks. Use theSWIFT_TARGET_LIBRARY_NAME
define to distinguish the libraries, and use a different.def
file and mach-o section name accordingly.We want the global/main executor functions to be a little more flexible. Instead of using the override mechanism, we expose function pointers that can be set by the compatibility library, or by any other code that wants to use a custom implementation.
rdar://73726764