mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Merge remote-tracking branch 'origin/main' into rebranch
This commit is contained in:
@@ -898,6 +898,10 @@ public:
|
||||
/// Get the runtime availability of support for concurrency.
|
||||
AvailabilityContext getConcurrencyAvailability();
|
||||
|
||||
/// Get the runtime availability of the `DiscardingTaskGroup`,
|
||||
/// and supporting runtime functions function
|
||||
AvailabilityContext getConcurrencyDiscardingTaskGroupAvailability();
|
||||
|
||||
/// Get the back-deployed availability for concurrency.
|
||||
AvailabilityContext getBackDeployedConcurrencyAvailability();
|
||||
|
||||
|
||||
@@ -2512,7 +2512,7 @@ FUNCTION(TaskGroupInitialize,
|
||||
// void swift_taskGroup_initializeWithFlags(size_t flags, TaskGroup *group);
|
||||
FUNCTION(TaskGroupInitializeWithFlags,
|
||||
swift_taskGroup_initializeWithFlags, SwiftCC,
|
||||
ConcurrencyAvailability,
|
||||
ConcurrencyDiscardingTaskGroupAvailability,
|
||||
RETURNS(VoidTy),
|
||||
ARGS(SizeTy, // flags
|
||||
Int8PtrTy, // group
|
||||
|
||||
@@ -493,6 +493,10 @@ AvailabilityContext ASTContext::getConcurrencyAvailability() {
|
||||
return getSwift55Availability();
|
||||
}
|
||||
|
||||
AvailabilityContext ASTContext::getConcurrencyDiscardingTaskGroupAvailability() {
|
||||
return getSwift59Availability();
|
||||
}
|
||||
|
||||
AvailabilityContext ASTContext::getBackDeployedConcurrencyAvailability() {
|
||||
return getSwift51Availability();
|
||||
}
|
||||
|
||||
@@ -859,6 +859,15 @@ namespace RuntimeConstants {
|
||||
return RuntimeAvailability::AlwaysAvailable;
|
||||
}
|
||||
|
||||
RuntimeAvailability ConcurrencyDiscardingTaskGroupAvailability(ASTContext &context) {
|
||||
auto featureAvailability =
|
||||
context.getConcurrencyDiscardingTaskGroupAvailability();
|
||||
if (!isDeploymentAvailabilityContainedIn(context, featureAvailability)) {
|
||||
return RuntimeAvailability::ConditionallyAvailable;
|
||||
}
|
||||
return RuntimeAvailability::AlwaysAvailable;
|
||||
}
|
||||
|
||||
RuntimeAvailability DifferentiationAvailability(ASTContext &context) {
|
||||
auto featureAvailability = context.getDifferentiationAvailability();
|
||||
if (!isDeploymentAvailabilityContainedIn(context, featureAvailability)) {
|
||||
|
||||
Reference in New Issue
Block a user