Skip to content

Commit 5ae2df5

Browse files
committed
Tests: Factor unavailable class tests into separate file.
1 parent b8148d1 commit 5ae2df5

File tree

2 files changed

+55
-54
lines changed

2 files changed

+55
-54
lines changed

test/IRGen/unavailable_decl_optimization.swift

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -44,31 +44,6 @@ extension UnavailableStruct {
4444
public func extensionMethod() {}
4545
}
4646

47-
@available(*, unavailable)
48-
public class UnavailableClass<T> {
49-
// CHECK-NO-STRIP: s4Test16UnavailableClassC8propertyxvg
50-
// CHECK-NO-STRIP: s4Test16UnavailableClassC8propertyxvs
51-
// CHECK-NO-STRIP: s4Test16UnavailableClassC8propertyxvM
52-
// CHECK-STRIP-NOT: s4Test16UnavailableClassC8propertyxvg
53-
// CHECK-STRIP-NOT: s4Test16UnavailableClassC8propertyxvs
54-
// CHECK-STRIP-NOT: s4Test16UnavailableClassC8propertyxvM
55-
public var property: T
56-
57-
// CHECK-NO-STRIP: s4Test16UnavailableClassCyACyxGxcfC
58-
// CHECK-NO-STRIP: s4Test16UnavailableClassCyACyxGxcfc
59-
// CHECK-STRIP-NOT: s4Test16UnavailableClassCyACyxGxcfC
60-
// CHECK-STRIP-NOT: s4Test16UnavailableClassCyACyxGxcfc
61-
public init(_ t: T) {
62-
self.property = t
63-
}
64-
65-
// CHECK-NO-STRIP: s4Test16UnavailableClassCfd
66-
// CHECK-NO-STRIP: s4Test16UnavailableClassCfD
67-
// CHECK-STRIP-NOT: s4Test16UnavailableClassCfd
68-
// CHECK-STRIP-NOT: s4Test16UnavailableClassCfD
69-
deinit {}
70-
}
71-
7247
public struct S<T> {
7348
// CHECK-NO-STRIP: s4Test1SV19unavailablePropertyxvg
7449
// CHECK-NO-STRIP: s4Test1SV19unavailablePropertyxvs
@@ -96,32 +71,3 @@ extension S {
9671
// CHECK-STRIP-NOT: s4Test1SV28methodInUnavailableExtensionyyF
9772
public func methodInUnavailableExtension() {}
9873
}
99-
100-
public class C<T> {
101-
// CHECK-NO-STRIP: s4Test1CC19unavailablePropertyxvg
102-
// CHECK-NO-STRIP: s4Test1CC19unavailablePropertyxvs
103-
// CHECK-NO-STRIP: s4Test1CC19unavailablePropertyxvM
104-
// CHECK-STRIP-NOT: s4Test1CC19unavailablePropertyxvg
105-
// CHECK-STRIP-NOT: s4Test1CC19unavailablePropertyxvs
106-
// CHECK-STRIP-NOT: s4Test1CC19unavailablePropertyxvM
107-
@available(*, unavailable)
108-
public var unavailableProperty: T
109-
110-
// CHECK-NO-STRIP: s4Test1CCyACyxGxcfC
111-
// CHECK-NO-STRIP: s4Test1CCyACyxGxcfc
112-
// CHECK-STRIP-NOT: s4Test1CCyACyxGxcfC
113-
// CHECK-STRIP-NOT: s4Test1CCyACyxGxcfc
114-
@available(*, unavailable)
115-
public init(_ t: T) { fatalError() }
116-
117-
// CHECK: s4Test1CCfd
118-
// CHECK: s4Test1CCfD
119-
deinit {}
120-
}
121-
122-
// MARK: -
123-
124-
// MARK: UnavailableClass
125-
126-
// CHECK-NO-STRIP: s4Test16UnavailableClassCMa
127-
// CHECK-STRIP-NOT: s4Test16UnavailableClassCMa
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// RUN: %target-swift-frontend -parse-as-library -module-name Test -validate-tbd-against-ir=missing %s -emit-ir | %FileCheck %s --check-prefixes=CHECK,CHECK-NO-STRIP
2+
3+
// RUN: %target-swift-frontend -parse-as-library -module-name Test -validate-tbd-against-ir=missing -unavailable-decl-optimization=complete %s -emit-ir | %FileCheck %s --check-prefixes=CHECK,CHECK-STRIP
4+
5+
public class AvailableClass<T> {
6+
// CHECK-NO-STRIP: s4Test14AvailableClassC19unavailablePropertyxvg
7+
// CHECK-NO-STRIP: s4Test14AvailableClassC19unavailablePropertyxvs
8+
// CHECK-NO-STRIP: s4Test14AvailableClassC19unavailablePropertyxvM
9+
// CHECK-STRIP-NOT: s4Test14AvailableClassC19unavailablePropertyxvg
10+
// CHECK-STRIP-NOT: s4Test14AvailableClassC19unavailablePropertyxvs
11+
// CHECK-STRIP-NOT: s4Test14AvailableClassC19unavailablePropertyxvM
12+
@available(*, unavailable)
13+
public var unavailableProperty: T
14+
15+
// CHECK-NO-STRIP: s4Test14AvailableClassCyACyxGxcfC
16+
// CHECK-NO-STRIP: s4Test14AvailableClassCyACyxGxcfc
17+
// CHECK-STRIP-NOT: s4Test14AvailableClassCyACyxGxcfC
18+
// CHECK-STRIP-NOT: s4Test14AvailableClassCyACyxGxcfc
19+
@available(*, unavailable)
20+
public init(_ t: T) { fatalError() }
21+
22+
// CHECK: s4Test14AvailableClassCfd
23+
// CHECK: s4Test14AvailableClassCfD
24+
deinit {}
25+
}
26+
27+
@available(*, unavailable)
28+
public class UnavailableClass<T> {
29+
// CHECK-NO-STRIP: s4Test16UnavailableClassC8propertyxvg
30+
// CHECK-NO-STRIP: s4Test16UnavailableClassC8propertyxvs
31+
// CHECK-NO-STRIP: s4Test16UnavailableClassC8propertyxvM
32+
// CHECK-STRIP-NOT: s4Test16UnavailableClassC8propertyxvg
33+
// CHECK-STRIP-NOT: s4Test16UnavailableClassC8propertyxvs
34+
// CHECK-STRIP-NOT: s4Test16UnavailableClassC8propertyxvM
35+
public var property: T
36+
37+
// CHECK-NO-STRIP: s4Test16UnavailableClassCyACyxGxcfC
38+
// CHECK-NO-STRIP: s4Test16UnavailableClassCyACyxGxcfc
39+
// CHECK-STRIP-NOT: s4Test16UnavailableClassCyACyxGxcfC
40+
// CHECK-STRIP-NOT: s4Test16UnavailableClassCyACyxGxcfc
41+
public init(_ t: T) {
42+
self.property = t
43+
}
44+
45+
// CHECK-NO-STRIP: s4Test16UnavailableClassCfd
46+
// CHECK-NO-STRIP: s4Test16UnavailableClassCfD
47+
// CHECK-STRIP-NOT: s4Test16UnavailableClassCfd
48+
// CHECK-STRIP-NOT: s4Test16UnavailableClassCfD
49+
deinit {}
50+
}
51+
52+
// CHECK: s4Test14AvailableClassCMa
53+
54+
// CHECK-NO-STRIP: s4Test16UnavailableClassCMa
55+
// CHECK-STRIP-NOT: s4Test16UnavailableClassCMa

0 commit comments

Comments
 (0)