7
7
8
8
import weak_import_native_helper
9
9
10
- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper23ProtocolWithWeakMembersP1TAC_AA05OtherE0Tn" = extern_weak global %swift.protocol_requirement
11
- // CHECK-DAG-LABEL : @"$s1T25weak_import_native_helper23ProtocolWithWeakMembersPTl" = extern_weak global %swift.protocol_requirement
12
- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper23ProtocolWithWeakMembersP1fyyFTq" = extern_weak global %swift.method_descriptor
13
- // CHECK-DAG-LABEL : declare extern_weak swiftcc void @"$s25weak_import_native_helper23ProtocolWithWeakMembersPAAE1fyyF"(%swift.type*, i8**, %swift.opaque* noalias nocapture swiftself)
10
+ // CHECK-DAG: @"$s25weak_import_native_helper23ProtocolWithWeakMembersP1TAC_AA05OtherE0Tn" = extern_weak global %swift.protocol_requirement
11
+ // CHECK-DAG: @"$s1T25weak_import_native_helper23ProtocolWithWeakMembersPTl" = extern_weak global %swift.protocol_requirement
12
+ // CHECK-DAG: @"$s25weak_import_native_helper23ProtocolWithWeakMembersP1fyyFTq" = extern_weak global %swift.method_descriptor
13
+ // CHECK-DAG: declare extern_weak swiftcc void @"$s25weak_import_native_helper23ProtocolWithWeakMembersPAAE1fyyF"(%swift.type*, i8**, %swift.opaque* noalias nocapture swiftself)
14
14
struct ConformsToProtocolWithWeakMembers : ProtocolWithWeakMembers { }
15
15
16
16
func testTopLevel( ) {
17
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper2fnyyF"()
17
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper2fnyyF"()
18
18
fn ( )
19
19
20
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper12globalStoredSivg"
21
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper12globalStoredSivs"
20
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper12globalStoredSivg"
21
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper12globalStoredSivs"
22
22
let x = globalStored
23
23
globalStored = x
24
24
globalStored += 1
25
25
26
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper14globalComputedSivg"
27
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper14globalComputedSivs"
26
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper14globalComputedSivg"
27
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper14globalComputedSivs"
28
28
let y = globalComputed
29
29
globalComputed = y
30
30
globalComputed += 1
31
31
}
32
32
33
33
func testStruct( ) {
34
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SVACycfC"
34
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SVACycfC"
35
35
var s = S ( )
36
36
37
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV2fnyyF"
37
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV2fnyyF"
38
38
s. fn ( )
39
39
40
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV10storedPropSivg"
41
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV10storedPropSivs"
42
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV10storedPropSivM"
40
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV10storedPropSivg"
41
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV10storedPropSivs"
42
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV10storedPropSivM"
43
43
let x = s. storedProp
44
44
s. storedProp = x
45
45
s. storedProp += 1
46
46
47
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV12computedPropSivg"
48
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV12computedPropSivs"
49
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV12computedPropSivM"
47
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV12computedPropSivg"
48
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV12computedPropSivs"
49
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV12computedPropSivM"
50
50
let y = s. computedProp
51
51
s. computedProp = y
52
52
s. computedProp += 1
53
53
54
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SVyS2icig"
55
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SVyS2icis"
56
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SVyS2iciM"
54
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SVyS2icig"
55
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SVyS2icis"
56
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SVyS2iciM"
57
57
let z = s [ 0 ]
58
58
s [ 0 ] = z
59
59
s [ 0 ] += 1
60
60
61
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper5WeakSV0A6MemberyyF"
61
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper5WeakSV0A6MemberyyF"
62
62
let w = WeakS ( )
63
63
w. weakMember ( )
64
64
}
65
65
66
66
func testEnum( ) {
67
- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper1EO6strongyA2CmFWC" = external constant i32
67
+ // CHECK-DAG: @"$s25weak_import_native_helper1EO6strongyA2CmFWC" = external constant i32
68
68
_ = E . strong
69
69
70
- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper1EO0A0yA2CmFWC" = extern_weak constant i32
70
+ // CHECK-DAG: @"$s25weak_import_native_helper1EO0A0yA2CmFWC" = extern_weak constant i32
71
71
_ = E . weak
72
72
73
- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper1EO11strongAssocyACSicACmFWC" = external constant i32
73
+ // CHECK-DAG: @"$s25weak_import_native_helper1EO11strongAssocyACSicACmFWC" = external constant i32
74
74
_ = E . strongAssoc ( 0 )
75
75
76
- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper1EO0A5AssocyACSicACmFWC" = extern_weak constant i32
76
+ // CHECK-DAG: @"$s25weak_import_native_helper1EO0A5AssocyACSicACmFWC" = extern_weak constant i32
77
77
_ = E . weakAssoc ( 0 )
78
78
}
79
79
80
80
func testClass( ) {
81
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1CCACycfC"
81
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1CCACycfC"
82
82
let c = C ( )
83
83
84
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1CC2fnyyFTj"
84
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1CC2fnyyFTj"
85
85
c. fn ( )
86
86
87
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC10storedPropSivgTj"
88
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC10storedPropSivsTj"
89
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC10storedPropSivMTj"
87
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC10storedPropSivgTj"
88
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC10storedPropSivsTj"
89
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC10storedPropSivMTj"
90
90
let x = c. storedProp
91
91
c. storedProp = x
92
92
c. storedProp += 1
93
93
94
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC12computedPropSivgTj"
95
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC12computedPropSivsTj"
96
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC12computedPropSivMTj"
94
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC12computedPropSivgTj"
95
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC12computedPropSivsTj"
96
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CC12computedPropSivMTj"
97
97
let y = c. computedProp
98
98
c. computedProp = y
99
99
c. computedProp += 1
100
100
101
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CCyS2icigTj"
102
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CCyS2icisTj"
103
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CCyS2iciMTj"
101
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CCyS2icigTj"
102
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CCyS2icisTj"
103
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1CCyS2iciMTj"
104
104
let z = c [ 0 ]
105
105
c [ 0 ] = z
106
106
c [ 0 ] += 1
107
107
}
108
108
109
+ // CHECK-DAG: @"$s25weak_import_native_helper1CCACycfCTq" = extern_weak global %swift.method_descriptor
109
110
class Sub : C {
110
111
deinit {
111
112
// This is correctly a strong symbol reference; the class is not declared
112
113
// weak.
113
- // CHECK-DAG-LABEL : declare swiftcc {{.+}} @"$s25weak_import_native_helper1CCfd"
114
+ // CHECK-DAG: declare swiftcc {{.+}} @"$s25weak_import_native_helper1CCfd"
114
115
}
115
116
}
116
117
117
118
func testProtocolExistential( _ p: P ) {
118
119
var mutP = p
119
120
120
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1PP2fnyyFTj"
121
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1PP2fnyyFTj"
121
122
p. fn ( )
122
123
123
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PP4propSivgTj"
124
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PP4propSivsTj"
125
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PP4propSivMTj"
124
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PP4propSivgTj"
125
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PP4propSivsTj"
126
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PP4propSivMTj"
126
127
let x = p. prop
127
128
mutP. prop = x
128
129
mutP. prop += 1
129
130
130
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PPyS2icigTj"
131
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PPyS2icisTj"
132
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PPyS2iciMTj"
131
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PPyS2icigTj"
132
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PPyS2icisTj"
133
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper1PPyS2iciMTj"
133
134
let z = p [ 0 ]
134
135
mutP [ 0 ] = z
135
136
mutP [ 0 ] += 1
136
137
}
137
138
138
139
func testProtocolGeneric< Impl: P > ( _ type: Impl . Type ) {
139
- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1PPxycfCTj"
140
+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1PPxycfCTj"
140
141
var mutP = type. init ( )
141
142
142
143
mutP. fn ( )
@@ -151,31 +152,35 @@ func testProtocolGeneric<Impl: P>(_ type: Impl.Type) {
151
152
}
152
153
153
154
func testWeakTypes( ) -> [ Any . Type ] {
154
- // CHECK-DAG-LABEL : declare extern_weak swiftcc %swift.metadata_response @"$s25weak_import_native_helper5WeakSVMa"
155
- // CHECK-DAG-LABEL : declare extern_weak swiftcc %swift.metadata_response @"$s25weak_import_native_helper5WeakEOMa"
156
- // CHECK-DAG-LABEL : declare extern_weak swiftcc %swift.metadata_response @"$s25weak_import_native_helper5WeakCCMa"
157
- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper5WeakPMp" = extern_weak global %swift.protocol
158
- // CHECK-DAG-LABEL: declare extern_weak swiftcc %swift.metadata_response @"$s25weak_import_native_helper8GenericSVMa"
159
- // CHECK-DAG-LABEL: declare extern_weak swiftcc %swift.metadata_response @"$s25weak_import_native_helper8GenericEOMa"
160
- // CHECK-DAG-LABEL: declare extern_weak swiftcc %swift.metadata_response @"$s25weak_import_native_helper8GenericCCMa"
155
+ // CHECK-DAG: declare extern_weak swiftcc %swift.metadata_response @"$s25weak_import_native_helper5WeakSVMa"
156
+ // CHECK-DAG: declare extern_weak swiftcc %swift.metadata_response @"$s25weak_import_native_helper5WeakEOMa"
157
+ // CHECK-DAG: declare extern_weak swiftcc %swift.metadata_response @"$s25weak_import_native_helper5WeakCCMa"
158
+ // CHECK-DAG: @"$s25weak_import_native_helper5WeakPMp" = extern_weak global %swift.protocol
159
+ // CHECK-DAG: @"$s25weak_import_native_helper8GenericSVMn" = extern_weak global %swift.type_descriptor
160
+ // CHECK-DAG: @"$s25weak_import_native_helper8GenericEOMn" = extern_weak global %swift.type_descriptor
161
+ // CHECK-DAG: @"$s25weak_import_native_helper8GenericCCMn" = extern_weak global %swift.type_descriptor
161
162
return [ WeakS . self, WeakE . self, WeakC . self, WeakP . self, GenericS< Int> . self , GenericE< Int> . self , GenericC< Int> . self ]
162
163
}
163
164
165
+ // CHECK-DAG: @"$s25weak_import_native_helper5WeakCCMn" = extern_weak global %swift.type_descriptor
166
+ // CHECK-DAG: @"$s25weak_import_native_helper5WeakCCACycfCTq" = extern_weak global %swift.method_descriptor
167
+ // CHECK-DAG: @"$s25weak_import_native_helper5WeakCCMm" = extern_weak global %objc_class
164
168
class WeakSub : WeakC {
165
169
deinit {
166
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper5WeakCCfd"
170
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper5WeakCCfd"
167
171
}
168
172
}
169
173
174
+ // CHECK-DAG: @"$s25weak_import_native_helper8GenericCCACyxGycfCTq" = extern_weak global %swift.method_descriptor
170
175
class WeakGenericSub : GenericC < Int > {
171
176
deinit {
172
- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper8GenericCCfd"
177
+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper8GenericCCfd"
173
178
}
174
179
}
175
180
176
181
protocol RefinesP : BaseP { }
177
182
178
- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper1SVAA5BasePAAWP" = extern_weak global i8*
183
+ // CHECK-DAG: @"$s25weak_import_native_helper1SVAA5BasePAAWP" = extern_weak global i8*
179
184
extension S : RefinesP { }
180
185
181
186
// We should not hoist the metadata accessor accross the version check.
0 commit comments