Skip to content

Commit 1c6f885

Browse files
authored
Merge pull request #71755 from tshortli/unavailable-decl-optimization-stub-obsoleted-tests
SILGen: Add tests verifying obsoleted functions do not get stubbed
2 parents f1feba0 + 20fedbe commit 1c6f885

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

test/SILGen/unavailable_decl_optimization_stub.swift

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,20 @@ public var globalVar = S()
4242

4343
public enum Uninhabited {}
4444

45-
//
4645
// CHECK-LABEL: sil{{.*}}@$s4Test28unavailableTakingUninhabitedyyAA0D0OF : $@convention(thin) (Uninhabited) -> () {
4746
// CHECK: unreachable
4847
// CHECK: } // end sil function '$s4Test28unavailableTakingUninhabitedyyAA0D0OF'
4948
@available(*, unavailable)
5049
public func unavailableTakingUninhabited(_ u: Uninhabited) {}
50+
51+
// CHECK-LABEL: sil{{.*}}@$s4Test17obsoletedInSwift1yyF : $@convention(thin) () -> () {
52+
// CHECK-NOT: ss36_diagnoseUnavailableCodeReached
53+
// CHECK: } // end sil function '$s4Test17obsoletedInSwift1yyF'
54+
@available(swift, obsoleted: 1)
55+
public func obsoletedInSwift1() {}
56+
57+
// CHECK-LABEL: sil{{.*}}@$s4Test17obsoletedInSwift5yyF : $@convention(thin) () -> () {
58+
// CHECK-NOT: ss36_diagnoseUnavailableCodeReached
59+
// CHECK: } // end sil function '$s4Test17obsoletedInSwift5yyF'
60+
@available(swift, obsoleted: 5)
61+
public func obsoletedInSwift5() {}

test/SILGen/unavailable_decl_optimization_stub_macos.swift

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,13 @@ public func unavailableOnMacOSExtensionFunc() {}
4545
public func unavailableOnMacOSAndMacOSExtensionFunc() {}
4646

4747
// CHECK-LABEL: sil{{.*}}@$s4Test20unavailableOniOSFuncyyF
48-
// CHECK-NOT: function_ref @$ss36_diagnoseUnavailableCodeReached{{.*}} : $@convention(thin) () -> Never
48+
// CHECK-NOT: _diagnoseUnavailableCodeReached
4949
// CHECK: } // end sil function '$s4Test20unavailableOniOSFuncyyF'
5050
@available(iOS, unavailable)
5151
public func unavailableOniOSFunc() {}
52+
53+
// CHECK-LABEL: sil{{.*}}@$s4Test20obsoletedOnMacOS10_9yyF
54+
// CHECK-NOT: _diagnoseUnavailableCodeReached
55+
// CHECK: } // end sil function '$s4Test20obsoletedOnMacOS10_9yyF'
56+
@available(macOS, obsoleted: 10.9)
57+
public func obsoletedOnMacOS10_9() {}

0 commit comments

Comments
 (0)