Skip to content

Commit 63ab8fb

Browse files
authored
Merge pull request #11684 from gottesmm/pr-456944701b0ac9de4037c846466df3ac0647a48e
2 parents 3e77c45 + 88f5801 commit 63ab8fb

8 files changed

+57
-57
lines changed

test/SILGen/objc_attr_NSManaged.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-swift-frontend -sdk %S/Inputs %s -I %S/Inputs -enable-source-import -emit-silgen | %FileCheck %s
1+
// RUN: %target-swift-frontend -sdk %S/Inputs %s -I %S/Inputs -enable-source-import -emit-silgen -enable-sil-ownership | %FileCheck %s
22

33
// REQUIRES: objc_interop
44

@@ -69,7 +69,7 @@ extension FinalGizmo {
6969
}
7070

7171
// CHECK-LABEL: sil hidden @_T019objc_attr_NSManaged9testFinalSSAA0E5GizmoCF : $@convention(thin) (@owned FinalGizmo) -> @owned String {
72-
// CHECK: bb0([[ARG:%.*]] : $FinalGizmo):
72+
// CHECK: bb0([[ARG:%.*]] : @owned $FinalGizmo):
7373
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
7474
// CHECK: class_method [volatile] [[BORROWED_ARG]] : $FinalGizmo, #FinalGizmo.kvc2!1.foreign : (FinalGizmo) -> () -> (), $@convention(objc_method) (FinalGizmo) -> ()
7575
// CHECK-NOT: return

test/SILGen/objc_attr_NSManaged_multi.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
// RUN: %target-swift-frontend -sdk %S/Inputs -primary-file %s %S/objc_attr_NSManaged.swift -I %S/Inputs -enable-source-import -emit-silgen | %FileCheck %s
1+
// RUN: %target-swift-frontend -sdk %S/Inputs -primary-file %s %S/objc_attr_NSManaged.swift -I %S/Inputs -enable-source-import -emit-silgen -enable-sil-ownership | %FileCheck %s
22

33
// REQUIRES: objc_interop
44

55
import Foundation
66

77
// CHECK-LABEL: sil hidden @_T025objc_attr_NSManaged_multi9testMultiyXlAA10SwiftGizmoCF : $@convention(thin) (@owned SwiftGizmo) -> @owned AnyObject {
8-
// CHECK: bb0([[ARG:%.*]] : $SwiftGizmo):
8+
// CHECK: bb0([[ARG:%.*]] : @owned $SwiftGizmo):
99
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
1010
// CHECK: = class_method [volatile] [[BORROWED_ARG]] : $SwiftGizmo, #SwiftGizmo.kvc!1.foreign : (SwiftGizmo) -> () -> (), $@convention(objc_method) (SwiftGizmo) -> ()
1111
// CHECK-NOT: return
@@ -22,7 +22,7 @@ func testMulti(_ obj: SwiftGizmo) -> AnyObject {
2222
}
2323

2424
// CHECK-LABEL: sil hidden @_T025objc_attr_NSManaged_multi14testFinalMultiSSAA0F5GizmoCF : $@convention(thin) (@owned FinalGizmo) -> @owned String {
25-
// CHECK: bb0([[ARG:%.*]] : $FinalGizmo):
25+
// CHECK: bb0([[ARG:%.*]] : @owned $FinalGizmo):
2626
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
2727
// CHECK: class_method [volatile] [[BORROWED_ARG]] : $FinalGizmo, #FinalGizmo.kvc2!1.foreign : (FinalGizmo) -> () -> (), $@convention(objc_method) (FinalGizmo) -> ()
2828
// CHECK-NOT: return

test/SILGen/objc_blocks_bridging.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
// RUN: %empty-directory(%t)
22
// RUN: %build-silgen-test-overlays
3-
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) -verify -emit-silgen -I %S/Inputs -disable-objc-attr-requires-foundation-module %s | %FileCheck %s
3+
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) -verify -emit-silgen -I %S/Inputs -disable-objc-attr-requires-foundation-module -enable-sil-ownership %s | %FileCheck %s
44

55
// REQUIRES: objc_interop
66

77
import Foundation
88

99
@objc class Foo {
1010
// CHECK-LABEL: sil hidden [thunk] @_T020objc_blocks_bridging3FooC3fooS3ic_Si1xtFTo :
11-
// CHECK: bb0([[ARG1:%.*]] : $@convention(block) (Int) -> Int, {{.*}}, [[SELF:%.*]] : $Foo):
11+
// CHECK: bb0([[ARG1:%.*]] : @unowned $@convention(block) (Int) -> Int, {{.*}}, [[SELF:%.*]] : @unowned $Foo):
1212
// CHECK: [[ARG1_COPY:%.*]] = copy_block [[ARG1]]
1313
// CHECK: [[SELF_COPY:%.*]] = copy_value [[SELF]]
1414
// CHECK: [[THUNK:%.*]] = function_ref @_T0S2iIyByd_S2iIxyd_TR
@@ -23,7 +23,7 @@ import Foundation
2323
}
2424

2525
// CHECK-LABEL: sil hidden [thunk] @_T020objc_blocks_bridging3FooC3barS3Sc_SS1xtFTo : $@convention(objc_method) (@convention(block) (NSString) -> @autoreleased NSString, NSString, Foo) -> @autoreleased NSString {
26-
// CHECK: bb0([[BLOCK:%.*]] : $@convention(block) (NSString) -> @autoreleased NSString, [[NSSTRING:%.*]] : $NSString, [[SELF:%.*]] : $Foo):
26+
// CHECK: bb0([[BLOCK:%.*]] : @unowned $@convention(block) (NSString) -> @autoreleased NSString, [[NSSTRING:%.*]] : @unowned $NSString, [[SELF:%.*]] : @unowned $Foo):
2727
// CHECK: [[BLOCK_COPY:%.*]] = copy_block [[BLOCK]]
2828
// CHECK: [[NSSTRING_COPY:%.*]] = copy_value [[NSSTRING]]
2929
// CHECK: [[SELF_COPY:%.*]] = copy_value [[SELF]]
@@ -39,7 +39,7 @@ import Foundation
3939
}
4040

4141
// CHECK-LABEL: sil hidden [thunk] @_T020objc_blocks_bridging3FooC3basSSSgA2Ec_AE1xtFTo : $@convention(objc_method) (@convention(block) (Optional<NSString>) -> @autoreleased Optional<NSString>, Optional<NSString>, Foo) -> @autoreleased Optional<NSString> {
42-
// CHECK: bb0([[BLOCK:%.*]] : $@convention(block) (Optional<NSString>) -> @autoreleased Optional<NSString>, [[OPT_STRING:%.*]] : $Optional<NSString>, [[SELF:%.*]] : $Foo):
42+
// CHECK: bb0([[BLOCK:%.*]] : @unowned $@convention(block) (Optional<NSString>) -> @autoreleased Optional<NSString>, [[OPT_STRING:%.*]] : @unowned $Optional<NSString>, [[SELF:%.*]] : @unowned $Foo):
4343
// CHECK: [[BLOCK_COPY:%.*]] = copy_block [[BLOCK]]
4444
// CHECK: [[OPT_STRING_COPY:%.*]] = copy_value [[OPT_STRING]]
4545
// CHECK: [[SELF_COPY:%.*]] = copy_value [[SELF]]
@@ -54,7 +54,7 @@ import Foundation
5454
}
5555

5656
// CHECK-LABEL: sil hidden [thunk] @_T020objc_blocks_bridging3FooC16cFunctionPointer{{[_0-9a-zA-Z]*}}FTo
57-
// CHECK: bb0([[F:%.*]] : $@convention(c) (Int) -> Int, [[X:%.*]] : $Int, [[SELF:%.*]] : $Foo):
57+
// CHECK: bb0([[F:%.*]] : @trivial $@convention(c) (Int) -> Int, [[X:%.*]] : @trivial $Int, [[SELF:%.*]] : @unowned $Foo):
5858
// CHECK: [[SELF_COPY:%.*]] = copy_value [[SELF]]
5959
// CHECK: [[BORROWED_SELF_COPY:%.*]] = begin_borrow [[SELF_COPY]]
6060
// CHECK: [[NATIVE:%.*]] = function_ref @_T020objc_blocks_bridging3FooC16cFunctionPointer{{[_0-9a-zA-Z]*}}F
@@ -67,10 +67,10 @@ import Foundation
6767

6868
// Blocks and C function pointers must not be reabstracted when placed in optionals.
6969
// CHECK-LABEL: sil hidden [thunk] @_T020objc_blocks_bridging3FooC7optFunc{{[_0-9a-zA-Z]*}}FTo
70-
// CHECK: bb0([[ARG0:%.*]] : $Optional<@convention(block) (NSString) -> @autoreleased NSString>,
70+
// CHECK: bb0([[ARG0:%.*]] : @unowned $Optional<@convention(block) (NSString) -> @autoreleased NSString>,
7171
// CHECK: [[COPY:%.*]] = copy_block [[ARG0]]
7272
// CHECK: switch_enum [[COPY]] : $Optional<@convention(block) (NSString) -> @autoreleased NSString>, case #Optional.some!enumelt.1: [[SOME_BB:bb[0-9]+]], case #Optional.none!enumelt: [[NONE_BB:bb[0-9]+]]
73-
// CHECK: [[SOME_BB]]([[BLOCK:%.*]] : $@convention(block) (NSString) -> @autoreleased NSString):
73+
// CHECK: [[SOME_BB]]([[BLOCK:%.*]] : @owned $@convention(block) (NSString) -> @autoreleased NSString):
7474
// TODO: redundant reabstractions here
7575
// CHECK: [[BLOCK_THUNK:%.*]] = function_ref @_T0So8NSStringCABIyBya_S2SIxxo_TR
7676
// CHECK: [[BRIDGED:%.*]] = partial_apply [[BLOCK_THUNK]]([[BLOCK]])
@@ -96,7 +96,7 @@ func callBlocks(_ x: Foo,
9696
g: @escaping (String) -> String,
9797
h: @escaping (String?) -> String?
9898
) -> (Int, String, String?, String?) {
99-
// CHECK: bb0([[ARG0:%.*]] : $Foo, [[ARG1:%.*]] : $@callee_owned (Int) -> Int, [[ARG2:%.*]] : $@callee_owned (@owned String) -> @owned String, [[ARG3:%.*]] : $@callee_owned (@owned Optional<String>) -> @owned Optional<String>):
99+
// CHECK: bb0([[ARG0:%.*]] : @owned $Foo, [[ARG1:%.*]] : @owned $@callee_owned (Int) -> Int, [[ARG2:%.*]] : @owned $@callee_owned (@owned String) -> @owned String, [[ARG3:%.*]] : @owned $@callee_owned (@owned Optional<String>) -> @owned Optional<String>):
100100
// CHECK: [[BORROWED_ARG0:%.*]] = begin_borrow [[ARG0]]
101101
// CHECK: [[FOO:%.*]] = class_method [volatile] [[BORROWED_ARG0]] : $Foo, #Foo.foo!1.foreign
102102
// CHECK: [[BORROWED_ARG1:%.*]] = begin_borrow [[ARG1]]

test/SILGen/objc_bridged_generic_conformance.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 %s -import-objc-header %S/Inputs/objc_bridged_generic_conformance.h -verify
1+
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -emit-silgen %s -import-objc-header %S/Inputs/objc_bridged_generic_conformance.h -verify -enable-sil-ownership
22
// REQUIRES: objc_interop
33

44
protocol P { func test() }

test/SILGen/objc_bridged_generic_nonnull.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-swift-frontend -emit-silgen -verify -import-objc-header %S/Inputs/objc_bridged_generic_nonnull.h %s
1+
// RUN: %target-swift-frontend -emit-silgen -verify -import-objc-header %S/Inputs/objc_bridged_generic_nonnull.h -enable-sil-ownership %s
22
// REQUIRES: objc_interop
33

44
public func test<T>(_ x: NonnullMembers<T>) -> T? {

test/SILGen/objc_bridged_results.swift

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
// RUN: %empty-directory(%t)
22
// RUN: %build-silgen-test-overlays
33

4-
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) -emit-silgen %s -Xllvm -sil-print-debuginfo -import-objc-header %S/Inputs/objc_bridged_results.h | %FileCheck %s
4+
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) -emit-silgen %s -Xllvm -sil-print-debuginfo -import-objc-header %S/Inputs/objc_bridged_results.h -enable-sil-ownership | %FileCheck %s
55

66
// REQUIRES: objc_interop
77

88
import Foundation
99

1010
// CHECK-LABEL: sil hidden @_T020objc_bridged_results11testNonnullSayypGSo4TestCF
11-
// CHECK: bb0([[ARG:%.*]] : $Test):
11+
// CHECK: bb0([[ARG:%.*]] : @owned $Test):
1212
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
1313
// CHECK: [[METHOD:%[0-9]+]] = class_method [volatile] [[BORROWED_ARG]] : $Test, #Test.nonnullArray!getter.1.foreign : (Test) -> () -> [Any], $@convention(objc_method) (Test) -> @autoreleased Optional<NSArray>
1414
// CHECK: [[COCOA_VAL:%[0-9]+]] = apply [[METHOD]]([[BORROWED_ARG]]) : $@convention(objc_method) (Test) -> @autoreleased Optional<NSArray>
@@ -23,13 +23,13 @@ func testNonnull(_ obj: Test) -> [Any] {
2323

2424
// CHECK-LABEL: sil hidden @_T020objc_bridged_results12testNullableSayypGSgSo4TestCF
2525
func testNullable(_ obj: Test) -> [Any]? {
26-
// CHECK: bb0([[ARG:%.*]] : $Test):
26+
// CHECK: bb0([[ARG:%.*]] : @owned $Test):
2727
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
2828
// CHECK: [[METHOD:%[0-9]+]] = class_method [volatile] [[BORROWED_ARG]] : $Test, #Test.nullableArray!getter.1.foreign : (Test) -> () -> [Any]?, $@convention(objc_method) (Test) -> @autoreleased Optional<NSArray>
2929
// CHECK: [[COCOA_VAL:%[0-9]+]] = apply [[METHOD]]([[BORROWED_ARG]]) : $@convention(objc_method) (Test) -> @autoreleased Optional<NSArray>
3030
// CHECK: switch_enum [[COCOA_VAL]] : $Optional<NSArray>, case #Optional.some!enumelt.1: [[CASE_NON_NIL:bb[0-9]+]], case #Optional.none!enumelt: [[CASE_NIL:bb[0-9]+]]
3131
//
32-
// CHECK: [[CASE_NON_NIL]]([[COCOA_VAL_NON_NIL:%.*]] : $NSArray):
32+
// CHECK: [[CASE_NON_NIL]]([[COCOA_VAL_NON_NIL:%.*]] : @owned $NSArray):
3333
// CHECK-NOT: unchecked_enum_data
3434
// CHECK: [[CONVERT:%[0-9]+]] = function_ref @_T0Sa10FoundationE36_unconditionallyBridgeFromObjectiveCSayxGSo7NSArrayCSgFZ
3535
// CHECK: [[COCOA_SOME_VAL:%[0-9]+]] = enum $Optional<NSArray>, #Optional.some!enumelt.1, [[COCOA_VAL_NON_NIL]]
@@ -42,7 +42,7 @@ func testNullable(_ obj: Test) -> [Any]? {
4242
// CHECK: [[RESULT_NONE:%[0-9]+]] = enum $Optional<Array<Any>>, #Optional.none!enumelt
4343
// CHECK: br [[FINISH]]([[RESULT_NONE]] : $Optional<Array<Any>>)
4444

45-
// CHECK: [[FINISH]]([[RESULT:%[0-9]+]] : $Optional<Array<Any>>):
45+
// CHECK: [[FINISH]]([[RESULT:%[0-9]+]] : @owned $Optional<Array<Any>>):
4646
// CHECK: end_borrow [[BORROWED_ARG]] from [[ARG]]
4747
// CHECK: destroy_value [[ARG]] : $Test
4848
// CHECK: return [[RESULT]] : $Optional<Array<Any>>
@@ -51,13 +51,13 @@ func testNullable(_ obj: Test) -> [Any]? {
5151

5252
// CHECK-LABEL: sil hidden @_T020objc_bridged_results19testNullUnspecifiedSQySayypGGSo4TestCF
5353
func testNullUnspecified(_ obj: Test) -> [Any]! {
54-
// CHECK: bb0([[ARG:%.*]] : $Test):
54+
// CHECK: bb0([[ARG:%.*]] : @owned $Test):
5555
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
5656
// CHECK: [[METHOD:%[0-9]+]] = class_method [volatile] [[BORROWED_ARG]] : $Test, #Test.nullUnspecifiedArray!getter.1.foreign : (Test) -> () -> [Any]!, $@convention(objc_method) (Test) -> @autoreleased Optional<NSArray>
5757
// CHECK: [[COCOA_VAL:%[0-9]+]] = apply [[METHOD]]([[BORROWED_ARG]]) : $@convention(objc_method) (Test) -> @autoreleased Optional<NSArray>
5858
// CHECK: switch_enum [[COCOA_VAL]] : $Optional<NSArray>, case #Optional.some!enumelt.1: [[CASE_NON_NIL:bb[0-9]+]], case #Optional.none!enumelt: [[CASE_NIL:bb[0-9]+]]
5959

60-
// CHECK: [[CASE_NON_NIL]]([[COCOA_VAL_NON_NIL:%.*]] : $NSArray):
60+
// CHECK: [[CASE_NON_NIL]]([[COCOA_VAL_NON_NIL:%.*]] : @owned $NSArray):
6161
// CHECK-NOT: unchecked_enum_data
6262
// CHECK: [[CONVERT:%[0-9]+]] = function_ref @_T0Sa10FoundationE36_unconditionallyBridgeFromObjectiveCSayxGSo7NSArrayCSgFZ
6363
// CHECK: [[COCOA_SOME_VAL:%[0-9]+]] = enum $Optional<NSArray>, #Optional.some!enumelt.1, [[COCOA_VAL_NON_NIL]]
@@ -70,7 +70,7 @@ func testNullUnspecified(_ obj: Test) -> [Any]! {
7070
// CHECK: [[RESULT_NONE:%[0-9]+]] = enum $Optional<Array<Any>>, #Optional.none!enumelt
7171
// CHECK: br [[FINISH]]([[RESULT_NONE]] : $Optional<Array<Any>>)
7272

73-
// CHECK: [[FINISH]]([[RESULT:%[0-9]+]] : $Optional<Array<Any>>):
73+
// CHECK: [[FINISH]]([[RESULT:%[0-9]+]] : @owned $Optional<Array<Any>>):
7474
// CHECK: end_borrow [[BORROWED_ARG]] from [[ARG]]
7575
// CHECK: destroy_value [[ARG]] : $Test
7676
// CHECK: return [[RESULT]] : $Optional<Array<Any>>
@@ -80,7 +80,7 @@ func testNullUnspecified(_ obj: Test) -> [Any]! {
8080

8181
// CHECK-LABEL: sil hidden @_T020objc_bridged_results21testNonnullDictionarys0F0Vys11AnyHashableVypGSo4TestCF
8282
func testNonnullDictionary(_ obj: Test) -> [AnyHashable: Any] {
83-
// CHECK: bb0([[ARG:%.*]] : $Test):
83+
// CHECK: bb0([[ARG:%.*]] : @owned $Test):
8484
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
8585
// CHECK: [[METHOD:%[0-9]+]] = class_method [volatile] [[BORROWED_ARG]] : $Test, #Test.nonnullDictionary!getter.1.foreign : (Test) -> () -> [AnyHashable : Any], $@convention(objc_method) (Test) -> @autoreleased Optional<NSDictionary>
8686
// CHECK: [[COCOA_VAL:%[0-9]+]] = apply [[METHOD]]([[BORROWED_ARG]]) : $@convention(objc_method) (Test) -> @autoreleased Optional<NSDictionary>
@@ -95,7 +95,7 @@ func testNonnullDictionary(_ obj: Test) -> [AnyHashable: Any] {
9595

9696
// CHECK-LABEL: sil hidden @_T020objc_bridged_results14testNonnullSets0F0Vys11AnyHashableVGSo4TestCF
9797
func testNonnullSet(_ obj: Test) -> Set<AnyHashable> {
98-
// CHECK: bb0([[ARG:%.*]] : $Test):
98+
// CHECK: bb0([[ARG:%.*]] : @owned $Test):
9999
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
100100
// CHECK: [[METHOD:%[0-9]+]] = class_method [volatile] [[BORROWED_ARG]] : $Test, #Test.nonnullSet!getter.1.foreign : (Test) -> () -> Set<AnyHashable>, $@convention(objc_method) (Test) -> @autoreleased Optional<NSSet>
101101
// CHECK: [[COCOA_VAL:%[0-9]+]] = apply [[METHOD]]([[BORROWED_ARG]]) : $@convention(objc_method) (Test) -> @autoreleased Optional<NSSet>
@@ -110,7 +110,7 @@ func testNonnullSet(_ obj: Test) -> Set<AnyHashable> {
110110

111111
// CHECK-LABEL: sil hidden @_T020objc_bridged_results17testNonnullStringSSSo4TestCF
112112
func testNonnullString(_ obj: Test) -> String {
113-
// CHECK: bb0([[ARG:%.*]] : $Test):
113+
// CHECK: bb0([[ARG:%.*]] : @owned $Test):
114114
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
115115
// CHECK: [[METHOD:%[0-9]+]] = class_method [volatile] [[BORROWED_ARG]] : $Test, #Test.nonnullString!getter.1.foreign : (Test) -> () -> String, $@convention(objc_method) (Test) -> @autoreleased Optional<NSString>
116116
// CHECK: [[COCOA_VAL:%[0-9]+]] = apply [[METHOD]]([[BORROWED_ARG]]) : $@convention(objc_method) (Test) -> @autoreleased Optional<NSString>
@@ -142,7 +142,7 @@ func testClassProp() -> String {
142142
// not to crash trying to generate the thunk.
143143
// CHECK-LABEL: sil hidden @_T020objc_bridged_results20testNonnullSubscriptSayypGSo4TestCF
144144
func testNonnullSubscript(_ obj: Test) -> [Any] {
145-
// CHECK: bb0([[ARG:%.*]] : $Test):
145+
// CHECK: bb0([[ARG:%.*]] : @owned $Test):
146146
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
147147
// CHECK: [[METHOD:%[0-9]+]] = class_method [volatile] [[BORROWED_ARG]] : $Test, #Test.subscript!getter.1.foreign : (Test) -> (Int) -> [Any], $@convention(objc_method) (Int, Test) -> @autoreleased Optional<NSArray>
148148
// CHECK: [[COCOA_VAL:%[0-9]+]] = apply [[METHOD]]({{%[0-9]+}}, [[BORROWED_ARG]]) : $@convention(objc_method) (Int, Test) -> @autoreleased Optional<NSArray>
@@ -158,7 +158,7 @@ func testNonnullSubscript(_ obj: Test) -> [Any] {
158158

159159
// CHECK-LABEL: sil hidden @_T020objc_bridged_results19testPerformSelectorySo8NSObjectCF
160160
func testPerformSelector(_ obj: NSObject) {
161-
// CHECK: bb0([[ARG:%.*]] : $NSObject):
161+
// CHECK: bb0([[ARG:%.*]] : @owned $NSObject):
162162
// CHECK: [[BORROWED_ARG:%.*]] = begin_borrow [[ARG]]
163163
// CHECK: [[METHOD:%[0-9]+]] = class_method [volatile] [[BORROWED_ARG]] : $NSObject, #NSObject.perform!1.foreign
164164
// CHECK: [[RESULT:%[0-9]+]] = apply [[METHOD]]({{%[0-9]+}}, {{%[0-9]+}}, [[BORROWED_ARG]])

test/SILGen/objc_bridged_using_protocol_extension_impl.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 %s | %FileCheck %s
1+
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -emit-silgen -enable-sil-ownership %s | %FileCheck %s
22
// REQUIRES: objc_interop
33

44
import Foundation

0 commit comments

Comments
 (0)