Tests: Correct invalid platform versions in @available attributes.

This commit is contained in:
Allan Shortlidge
2025-06-08 12:15:53 -07:00
parent 3f305a48c8
commit e358cd6309
6 changed files with 26 additions and 26 deletions

View File

@@ -37,12 +37,12 @@ public func ~><T> (lhs: T, rhs: (T) -> Void) -> T {
} }
struct S { struct S {
@available(macOS 20, *) @available(macOS 50, *)
func f() {} func f() {}
} }
let s = S() ~> { let s = S() ~> {
if #available(macOS 20.0, *) { if #available(macOS 50.0, *) {
$0.f() $0.f()
} }
} }

View File

@@ -230,11 +230,11 @@ extension PrivateProtoConformer : PrivateProto {
// NEGATIVE-NOT: extension {{(Swift.)?}}Bool{{.+}}Equatable // NEGATIVE-NOT: extension {{(Swift.)?}}Bool{{.+}}Equatable
@available(macOS 10.97, iOS 22, *) @available(macOS 10.97, iOS 13.22, *)
@available(tvOS, unavailable) @available(tvOS, unavailable)
@available(swift 4.2.123) @available(swift 4.2.123)
public struct NestedAvailabilityOuter { public struct NestedAvailabilityOuter {
@available(iOS 23, *) @available(iOS 13.23, *)
public struct Inner: PrivateSubProto {} public struct Inner: PrivateSubProto {}
} }
@@ -244,7 +244,7 @@ public struct NestedAvailabilityOuter {
// CHECK: @available(*, unavailable) // CHECK: @available(*, unavailable)
// CHECK-NEXT: extension conformances.NonSendable : @unchecked Swift.Sendable { // CHECK-NEXT: extension conformances.NonSendable : @unchecked Swift.Sendable {
// CHECK-END: @available(macOS 10.97, iOS 23, *) // CHECK-END: @available(macOS 10.97, iOS 13.23, *)
// CHECK-END: @available(tvOS, unavailable) // CHECK-END: @available(tvOS, unavailable)
// CHECK-END: extension conformances.NestedAvailabilityOuter.Inner : conformances.PublicBaseProto {} // CHECK-END: extension conformances.NestedAvailabilityOuter.Inner : conformances.PublicBaseProto {}

View File

@@ -1,5 +1,5 @@
// RUN: %target-swift-emit-silgen %s -target %target-cpu-apple-macosx10.15 -target-variant %target-cpu-apple-ios13.0-macabi | %FileCheck %s // RUN: %target-swift-emit-silgen %s -target %target-cpu-apple-macosx10.15 -target-variant %target-cpu-apple-ios13.1-macabi | %FileCheck %s
// RUN: %target-swift-emit-silgen %s -target %target-cpu-apple-ios13.0-macabi -target-variant %target-cpu-apple-macosx10.15 | %FileCheck %s // RUN: %target-swift-emit-silgen %s -target %target-cpu-apple-ios13.1-macabi -target-variant %target-cpu-apple-macosx10.15 | %FileCheck %s
// REQUIRES: OS=macosx || OS=maccatalyst // REQUIRES: OS=macosx || OS=maccatalyst

View File

@@ -5,7 +5,7 @@
// REQUIRES: OS=macosx // REQUIRES: OS=macosx
@available(macOS, introduced: 10.9, deprecated: 11.0, obsoleted: 18.1, message: "Everyone makes mistakes", renamed: "S2") @available(macOS, introduced: 10.9, deprecated: 11.0, obsoleted: 15.1, message: "Everyone makes mistakes", renamed: "S2")
public struct S {} public struct S {}
// CHECK: "domain": "macOS" // CHECK: "domain": "macOS"
@@ -19,7 +19,7 @@ public struct S {}
// CHECK-NEXT: "minor": 0 // CHECK-NEXT: "minor": 0
// CHECK: obsoleted // CHECK: obsoleted
// CHECK-NEXT: "major": 18 // CHECK-NEXT: "major": 15
// CHECK-NEXT: "minor": 1 // CHECK-NEXT: "minor": 1
// CHECK: "message": "Everyone makes mistakes" // CHECK: "message": "Everyone makes mistakes"

View File

@@ -10,19 +10,19 @@
// REQUIRES: OS=macosx // REQUIRES: OS=macosx
@available(macOS, obsoleted: 18.14) @available(macOS, obsoleted: 98.14)
public struct S { public struct S {
// LESSTHAN-LABEL: "precise": "s:17ObsoletedReplaced1SV8lessThanyyF", // LESSTHAN-LABEL: "precise": "s:17ObsoletedReplaced1SV8lessThanyyF",
// LESSTHAN: "availability": [ // LESSTHAN: "availability": [
// LESSTHAN-NEXT: { // LESSTHAN-NEXT: {
// LESSTHAN-NEXT: "domain": "macOS", // LESSTHAN-NEXT: "domain": "macOS",
// LESSTHAN-NEXT: "obsoleted": { // LESSTHAN-NEXT: "obsoleted": {
// LESSTHAN-NEXT: "major": 18, // LESSTHAN-NEXT: "major": 98,
// LESSTHAN-NEXT: "minor": 10 // LESSTHAN-NEXT: "minor": 10
// LESSTHAN-NEXT: } // LESSTHAN-NEXT: }
// LESSTHAN-NEXT: } // LESSTHAN-NEXT: }
// LESSTHAN-NEXT: ] // LESSTHAN-NEXT: ]
@available(macOS, obsoleted: 18.10) @available(macOS, obsoleted: 98.10)
public func lessThan() {} public func lessThan() {}
// GREATERTHAN-LABEL: "precise": "s:17ObsoletedReplaced1SV11greaterThanyyF", // GREATERTHAN-LABEL: "precise": "s:17ObsoletedReplaced1SV11greaterThanyyF",
@@ -30,12 +30,12 @@ public struct S {
// GREATERTHAN-NEXT: { // GREATERTHAN-NEXT: {
// GREATERTHAN-NEXT: "domain": "macOS", // GREATERTHAN-NEXT: "domain": "macOS",
// GREATERTHAN-NEXT: "obsoleted": { // GREATERTHAN-NEXT: "obsoleted": {
// GREATERTHAN-NEXT: "major": 18, // GREATERTHAN-NEXT: "major": 98,
// GREATERTHAN-NEXT: "minor": 14 // GREATERTHAN-NEXT: "minor": 14
// GREATERTHAN-NEXT: } // GREATERTHAN-NEXT: }
// GREATERTHAN-NEXT: } // GREATERTHAN-NEXT: }
// GREATERTHAN-NEXT: ] // GREATERTHAN-NEXT: ]
@available(macOS, obsoleted: 18.15) @available(macOS, obsoleted: 98.15)
public func greaterThan() {} public func greaterThan() {}
// EQUAL-LABEL: "precise": "s:17ObsoletedReplaced1SV5equalyyF", // EQUAL-LABEL: "precise": "s:17ObsoletedReplaced1SV5equalyyF",
@@ -43,16 +43,16 @@ public struct S {
// EQUAL-NEXT: { // EQUAL-NEXT: {
// EQUAL-NEXT: "domain": "macOS", // EQUAL-NEXT: "domain": "macOS",
// EQUAL-NEXT: "obsoleted": { // EQUAL-NEXT: "obsoleted": {
// EQUAL-NEXT: "major": 18, // EQUAL-NEXT: "major": 98,
// EQUAL-NEXT: "minor": 14 // EQUAL-NEXT: "minor": 14
// EQUAL-NEXT: } // EQUAL-NEXT: }
// EQUAL-NEXT: } // EQUAL-NEXT: }
// EQUAL-NEXT: ] // EQUAL-NEXT: ]
@available(macOS, obsoleted: 18.14) @available(macOS, obsoleted: 98.14)
public func equal() {} public func equal() {}
} }
@available(macOS, obsoleted: 18.14) @available(macOS, obsoleted: 98.14)
public struct Outer { public struct Outer {
public struct Inner { public struct Inner {
// TRANSITIVELESSTHAN-LABEL: "precise": "s:17ObsoletedReplaced5OuterV5InnerV8lessThanyyF" // TRANSITIVELESSTHAN-LABEL: "precise": "s:17ObsoletedReplaced5OuterV5InnerV8lessThanyyF"
@@ -60,12 +60,12 @@ public struct Outer {
// TRANSITIVELESSTHAN-NEXT: { // TRANSITIVELESSTHAN-NEXT: {
// TRANSITIVELESSTHAN-NEXT: "domain": "macOS", // TRANSITIVELESSTHAN-NEXT: "domain": "macOS",
// TRANSITIVELESSTHAN-NEXT: "obsoleted": { // TRANSITIVELESSTHAN-NEXT: "obsoleted": {
// TRANSITIVELESSTHAN-NEXT: "major": 18, // TRANSITIVELESSTHAN-NEXT: "major": 98,
// TRANSITIVELESSTHAN-NEXT: "minor": 10 // TRANSITIVELESSTHAN-NEXT: "minor": 10
// TRANSITIVELESSTHAN-NEXT: } // TRANSITIVELESSTHAN-NEXT: }
// TRANSITIVELESSTHAN-NEXT: } // TRANSITIVELESSTHAN-NEXT: }
// TRANSITIVELESSTHAN-NEXT: ] // TRANSITIVELESSTHAN-NEXT: ]
@available(macOS, obsoleted: 18.10) @available(macOS, obsoleted: 98.10)
public func lessThan() {} public func lessThan() {}
// TRANSITIVEGREATERTHAN-LABEL:"precise": "s:17ObsoletedReplaced5OuterV5InnerV11greaterThanyyF" // TRANSITIVEGREATERTHAN-LABEL:"precise": "s:17ObsoletedReplaced5OuterV5InnerV11greaterThanyyF"
@@ -73,12 +73,12 @@ public struct Outer {
// TRANSITIVEGREATERTHAN-NEXT: { // TRANSITIVEGREATERTHAN-NEXT: {
// TRANSITIVEGREATERTHAN-NEXT: "domain": "macOS", // TRANSITIVEGREATERTHAN-NEXT: "domain": "macOS",
// TRANSITIVEGREATERTHAN-NEXT: "obsoleted": { // TRANSITIVEGREATERTHAN-NEXT: "obsoleted": {
// TRANSITIVEGREATERTHAN-NEXT: "major": 18, // TRANSITIVEGREATERTHAN-NEXT: "major": 98,
// TRANSITIVEGREATERTHAN-NEXT: "minor": 14 // TRANSITIVEGREATERTHAN-NEXT: "minor": 14
// TRANSITIVEGREATERTHAN-NEXT: } // TRANSITIVEGREATERTHAN-NEXT: }
// TRANSITIVEGREATERTHAN-NEXT: } // TRANSITIVEGREATERTHAN-NEXT: }
// TRANSITIVEGREATERTHAN-NEXT: ] // TRANSITIVEGREATERTHAN-NEXT: ]
@available(macOS, obsoleted: 18.15) @available(macOS, obsoleted: 98.15)
public func greaterThan() {} public func greaterThan() {}
// TRANSITIVEEQUAL-LABEL:"precise": "s:17ObsoletedReplaced5OuterV5InnerV5equalyyF" // TRANSITIVEEQUAL-LABEL:"precise": "s:17ObsoletedReplaced5OuterV5InnerV5equalyyF"
@@ -86,12 +86,12 @@ public struct Outer {
// TRANSITIVEEQUAL-NEXT: { // TRANSITIVEEQUAL-NEXT: {
// TRANSITIVEEQUAL-NEXT: "domain": "macOS", // TRANSITIVEEQUAL-NEXT: "domain": "macOS",
// TRANSITIVEEQUAL-NEXT: "obsoleted": { // TRANSITIVEEQUAL-NEXT: "obsoleted": {
// TRANSITIVEEQUAL-NEXT: "major": 18, // TRANSITIVEEQUAL-NEXT: "major": 98,
// TRANSITIVEEQUAL-NEXT: "minor": 14 // TRANSITIVEEQUAL-NEXT: "minor": 14
// TRANSITIVEEQUAL-NEXT: } // TRANSITIVEEQUAL-NEXT: }
// TRANSITIVEEQUAL-NEXT: } // TRANSITIVEEQUAL-NEXT: }
// TRANSITIVEEQUAL-NEXT: ] // TRANSITIVEEQUAL-NEXT: ]
@available(macOS, obsoleted: 18.14) @available(macOS, obsoleted: 98.14)
public func equal() {} public func equal() {}
} }
} }

View File

@@ -41,12 +41,12 @@ class DeprecatedClass { }
func functionWithDeprecatedParameter(p: DeprecatedClass) { } // expected-warning{{'DeprecatedClass' was deprecated in visionOS 2.0: Use BetterClass instead}} func functionWithDeprecatedParameter(p: DeprecatedClass) { } // expected-warning{{'DeprecatedClass' was deprecated in visionOS 2.0: Use BetterClass instead}}
@available(visionOS, introduced: 2.0, deprecated: 4.0, @available(visionOS, introduced: 2.0, deprecated: 2.1,
message: "Use BetterClass instead") message: "Use BetterClass instead")
class DeprecatedClassIn3_0 { } class DeprecatedClassIn2_1 { }
// Elements deprecated later than the minimum deployment target (which is 2.0, in this case) should not generate warnings // Elements deprecated later than the minimum deployment target (which is 2.0, in this case) should not generate warnings
func functionWithDeprecatedLaterParameter(p: DeprecatedClassIn3_0) { } func functionWithDeprecatedLaterParameter(p: DeprecatedClassIn2_1) { }
// Treat visionOS as an alias for iOS in availability queries // Treat visionOS as an alias for iOS in availability queries