Skip to content
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] Fix task-to-thread model linking. #80195

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

al45tair
Copy link
Contributor

We need to provide some of the additional functions, as stubs, for task-to-thread model.

rdar://141348916

We need to provide some of the additional functions, as stubs, for
task-to-thread model.

rdar://141348916
@al45tair al45tair requested a review from ktoso as a code owner March 21, 2025 12:40
@al45tair
Copy link
Contributor Author

@swift-ci Please smoke test

@al45tair
Copy link
Contributor Author

Hopefully we can take this instead of #80194.

@al45tair
Copy link
Contributor Author

@swift-ci Please smoke test macOS platform

Looks like a new CMakelists.txt got added to the new build system while
I was working on this.
@al45tair
Copy link
Contributor Author

@swift-ci Please smoke test

Copy link
Member

@compnerd compnerd left a comment

Choose a reason for hiding this comment

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

new runtimes side of the changes for the build seem good

Copy link
Contributor

@etcwilde etcwilde left a comment

Choose a reason for hiding this comment

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

New runtime build changes look fine to me. I may come back and conditionalize including the platform-specific executors based on the platform to reduce filesystem traffic.

Just the one question on whether we want to include ExecutorImpl.swift in the list of sources where the swift_Concurrency library is declared instead of adding it afterward in each of the executor backend implementations.

DispatchGlobalExecutor.cpp
DispatchExecutor.swift
CFExecutor.swift
ExecutorImpl.swift)
Copy link
Contributor

Choose a reason for hiding this comment

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

Is ExecutorImpl.swift going to be used for all executors? If so, it might make sense to include the file wholesale on the main add_library(swift_Concurrency) invocation instead of adding it separately for each executor backend.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not necessarily, no. The Embedded Swift build doesn't use ExecutorImpl.swift, currently.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

(I'd like it to, but… there are issues relating to existing users and how they're using it that we need to work out first.)

@al45tair
Copy link
Contributor Author

@swift-ci Please smoke test macOS platform

Copy link
Contributor

@etcwilde etcwilde left a comment

Choose a reason for hiding this comment

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

Build system changes look fine to me

@al45tair
Copy link
Contributor Author

macOS PR testing timed-out that time.

@al45tair
Copy link
Contributor Author

@swift-ci Please smoke test macOS

@al45tair
Copy link
Contributor Author

Now Windows timed out :-(

@al45tair
Copy link
Contributor Author

@swift-ci Please smoke test Windows platform

@glessard
Copy link
Contributor

@swift-ci Please smoke test macOS

@compnerd
Copy link
Member

@swift-ci please test Windows platform

@compnerd
Copy link
Member

@swift-ci please smoke test macOS platform

@glessard
Copy link
Contributor

lib/swift/shims/module.modulemap:1:8: error: redefinition of module 'SwiftShims'
 1 | module SwiftShims {
   |        `- error: redefinition of module 'SwiftShims'
 2 |   header "AssertionReporting.h"
 3 |   header "CoreFoundationShims.h"

...

/lib/swift/shims/module.modulemap:28:8: error: redefinition of module '_SwiftConcurrencyShims'
26 | }
27 | 
28 | module _SwiftConcurrencyShims {
   |        `- error: redefinition of module '_SwiftConcurrencyShims'
29 |   header "_SwiftConcurrency.h"
30 | }

@compnerd
Copy link
Member

I'm going to split out some of the build changes to get the CI unblocked.

@compnerd
Copy link
Member

Seems that attempt crashes the compiler - fortunately @glessard did put up a revert for the issue. I've triggered the auto-merge to get CI healthy again.

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.

4 participants