Skip to content

Commit b5b4cba

Browse files
committed
[Frontend] Swift 6: Enable checked continuations when suspending for an async ObjC calls
Enables `-checked-async-objc-bridging` flag by default starting from swift 6 language mode to provide enhanced debugging and runtime checking for the correct usage of continuations passed in a call to ObjC from Swift.
1 parent 2a75075 commit b5b4cba

File tree

3 files changed

+5
-2
lines changed

3 files changed

+5
-2
lines changed

lib/Frontend/CompilerInvocation.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1572,6 +1572,8 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
15721572
A->getAsString(Args), A->getValue());
15731573
HadError = true;
15741574
}
1575+
} else if (Opts.isSwiftVersionAtLeast(6)) {
1576+
Opts.UseCheckedAsyncObjCBridging = true;
15751577
}
15761578

15771579
Opts.DisableDynamicActorIsolation |=

test/SILGen/objc_async_checked.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -emit-silgen -checked-async-objc-bridging=on -I %S/Inputs/custom-modules -disable-availability-checking %s -verify | %FileCheck --check-prefix=CHECK --check-prefix=CHECK-%target-cpu %s
1+
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -emit-silgen -swift-version 6 -I %S/Inputs/custom-modules -disable-availability-checking %s -verify | %FileCheck --check-prefix=CHECK --check-prefix=CHECK-%target-cpu %s
2+
23
// REQUIRES: concurrency
34
// REQUIRES: objc_interop
45

test/SILGen/objc_effectful_properties_checked.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -emit-silgen -checked-async-objc-bridging=on -disable-availability-checking -I %S/Inputs/custom-modules %s -verify | %FileCheck --enable-var-scope --check-prefix=CHECK --check-prefix=CHECK-%target-cpu %s
1+
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -emit-silgen -swift-version 6 -disable-availability-checking -I %S/Inputs/custom-modules %s -verify | %FileCheck --enable-var-scope --check-prefix=CHECK --check-prefix=CHECK-%target-cpu %s
22
// REQUIRES: concurrency
33
// REQUIRES: objc_interop
44

0 commit comments

Comments
 (0)