-
Notifications
You must be signed in to change notification settings - Fork 10.3k
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] Remove C++ runtime references from embedded Concurrency. #76870
base: main
Are you sure you want to change the base?
Conversation
In embedded mode, we mustn't have references to the C++ library, because some embedded platforms don't include the C++ library. Additionally, it's good to avoid use of global operator new and operator delete, because they can be globally overridden and this has bitten us in the past. rdar://137286187
@swift-ci Please smoke test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple minor requests, but otherwise LGTM
#if !SWIFT_CONCURRENCY_EMBEDDED | ||
status.to_string(group).c_str() | ||
#else | ||
"<unavailable in embedded>" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"<unavailable in embedded>" | |
"<status unavailable in embedded>" |
@@ -822,6 +844,8 @@ class AccumulatingTaskGroup: public TaskGroupBase { | |||
class DiscardingTaskGroup: public TaskGroupBase { | |||
friend class ::swift::AsyncTask; | |||
|
|||
private: | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spurious
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm
In embedded mode, we mustn't have references to the C++ library, because some embedded platforms don't include the C++ library.
Additionally, it's good to avoid use of global operator new and operator delete, because they can be globally overridden and this has bitten us in the past.
rdar://137286187