1- // RUN: %target-swift-emit-silgen -target %target-swift-abi-5.8-triple -module-name Test -parse-as-library %s -verify -unavailable-decl-optimization=stub | %FileCheck %s --check-prefixes=CHECK-SWIFT5_8
2- // RUN: %target-swift-emit-silgen -target %target-swift-abi-5.9-triple -module-name Test -parse-as-library %s -verify -unavailable-decl-optimization=stub | %FileCheck %s --check-prefixes=CHECK-SWIFT5_9
1+ // RUN: %target-swift-emit-silgen -target %target-swift-abi-5.8-triple -module-name Test -parse-as-library %s -verify -unavailable-decl-optimization=stub | %FileCheck %s --check-prefixes=CHECK,CHECK-SWIFT5_8
2+ // RUN: %target-swift-emit-silgen -target %target-swift-abi-5.8-triple -module-name Test -parse-as-library %s -verify -unavailable-decl-optimization=stub -application-extension | %FileCheck %s --check-prefixes=CHECK,CHECK-SWIFT5_8
3+ // RUN: %target-swift-emit-silgen -target %target-swift-abi-5.9-triple -module-name Test -parse-as-library %s -verify -unavailable-decl-optimization=stub | %FileCheck %s --check-prefixes=CHECK,CHECK-SWIFT5_9
4+ // RUN: %target-swift-emit-silgen -target %target-swift-abi-5.9-triple -module-name Test -parse-as-library %s -verify -unavailable-decl-optimization=stub -application-extension | %FileCheck %s --check-prefixes=CHECK,CHECK-SWIFT5_9
35
46// REQUIRES: OS=macosx
57
@@ -19,3 +21,22 @@ public func unavailableFunc() {}
1921@available ( * , unavailable)
2022@inlinable public func unavailableInlinableFunc( ) { }
2123
24+ // CHECK-LABEL: sil{{.*}}@$s4Test22unavailableOnMacOSFuncyyF
25+ // CHECK-SWIFT5_8: [[FNREF:%.*]] = function_ref @$ss36_diagnoseUnavailableCodeReached_aeics5NeverOyF : $@convention(thin) () -> Never
26+ // CHECK-SWIFT5_9: [[FNREF:%.*]] = function_ref @$ss31_diagnoseUnavailableCodeReacheds5NeverOyF : $@convention(thin) () -> Never
27+ // CHECK-NEXT: [[APPLY:%.*]] = apply [[FNREF]]()
28+ // CHECK: } // end sil function '$s4Test22unavailableOnMacOSFuncyyF'
29+ @available ( macOS, unavailable)
30+ public func unavailableOnMacOSFunc( ) { }
31+
32+ // CHECK-LABEL: sil{{.*}}@$s4Test31unavailableOnMacOSExtensionFuncyyF
33+ // CHECK-NOT: function_ref @$ss36_diagnoseUnavailableCodeReached{{.*}} : $@convention(thin) () -> Never
34+ // CHECK: } // end sil function '$s4Test31unavailableOnMacOSExtensionFuncyyF'
35+ @available ( macOSApplicationExtension, unavailable)
36+ public func unavailableOnMacOSExtensionFunc( ) { }
37+
38+ // CHECK-LABEL: sil{{.*}}@$s4Test20unavailableOniOSFuncyyF
39+ // CHECK-NOT: function_ref @$ss36_diagnoseUnavailableCodeReached{{.*}} : $@convention(thin) () -> Never
40+ // CHECK: } // end sil function '$s4Test20unavailableOniOSFuncyyF'
41+ @available ( iOS, unavailable)
42+ public func unavailableOniOSFunc( ) { }
0 commit comments