mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Used the function convention to determine whether a SILParameterInfo is indirect when emitting objc thunk arguments.
19 lines
796 B
Swift
19 lines
796 B
Swift
// RUN: %target-swift-emit-silgen -enable-sil-opaque-values -Xllvm -sil-full-demangle %s | %FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-%target-runtime
|
|
|
|
// REQUIRES: objc_interop
|
|
|
|
import ObjectiveC
|
|
|
|
// CHECK-LABEL: sil {{.*}} @$s18opaque_values_objc3fooyyFyypSgcfU_To : {{.*}} {
|
|
// CHECK: {{bb[0-9]+}}([[INSTANCE:%[^,]+]] : @owned $Optional<Any>
|
|
// CHECK: [[GUARANTEED:%[^,]+]] = begin_borrow [[INSTANCE]]
|
|
// CHECK: [[FN:%[^,]+]] = function_ref @$s18opaque_values_objc3fooyyFyypSgcfU_
|
|
// CHECK: apply [[FN]]([[GUARANTEED]])
|
|
// CHECK: end_borrow [[GUARANTEED]]
|
|
// CHECK: destroy_value [[INSTANCE]]
|
|
// CHECK-LABEL: } // end sil function '$s18opaque_values_objc3fooyyFyypSgcfU_To'
|
|
func foo() {
|
|
objc_setUncaughtExceptionHandler { _ in
|
|
}
|
|
}
|