77
88import weak_import_native_helper
99
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)
1414struct ConformsToProtocolWithWeakMembers : ProtocolWithWeakMembers { }
1515
1616func testTopLevel( ) {
17- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper2fnyyF"()
17+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper2fnyyF"()
1818 fn ( )
1919
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"
2222 let x = globalStored
2323 globalStored = x
2424 globalStored += 1
2525
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"
2828 let y = globalComputed
2929 globalComputed = y
3030 globalComputed += 1
3131}
3232
3333func testStruct( ) {
34- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SVACycfC"
34+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SVACycfC"
3535 var s = S ( )
3636
37- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV2fnyyF"
37+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1SV2fnyyF"
3838 s. fn ( )
3939
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"
4343 let x = s. storedProp
4444 s. storedProp = x
4545 s. storedProp += 1
4646
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"
5050 let y = s. computedProp
5151 s. computedProp = y
5252 s. computedProp += 1
5353
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"
5757 let z = s [ 0 ]
5858 s [ 0 ] = z
5959 s [ 0 ] += 1
6060
61- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper5WeakSV0A6MemberyyF"
61+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper5WeakSV0A6MemberyyF"
6262 let w = WeakS ( )
6363 w. weakMember ( )
6464}
6565
6666func testEnum( ) {
67- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper1EO6strongyA2CmFWC" = external constant i32
67+ // CHECK-DAG: @"$s25weak_import_native_helper1EO6strongyA2CmFWC" = external constant i32
6868 _ = E . strong
6969
70- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper1EO0A0yA2CmFWC" = extern_weak constant i32
70+ // CHECK-DAG: @"$s25weak_import_native_helper1EO0A0yA2CmFWC" = extern_weak constant i32
7171 _ = E . weak
7272
73- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper1EO11strongAssocyACSicACmFWC" = external constant i32
73+ // CHECK-DAG: @"$s25weak_import_native_helper1EO11strongAssocyACSicACmFWC" = external constant i32
7474 _ = E . strongAssoc ( 0 )
7575
76- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper1EO0A5AssocyACSicACmFWC" = extern_weak constant i32
76+ // CHECK-DAG: @"$s25weak_import_native_helper1EO0A5AssocyACSicACmFWC" = extern_weak constant i32
7777 _ = E . weakAssoc ( 0 )
7878}
7979
8080func testClass( ) {
81- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1CCACycfC"
81+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1CCACycfC"
8282 let c = C ( )
8383
84- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1CC2fnyyFTj"
84+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1CC2fnyyFTj"
8585 c. fn ( )
8686
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"
9090 let x = c. storedProp
9191 c. storedProp = x
9292 c. storedProp += 1
9393
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"
9797 let y = c. computedProp
9898 c. computedProp = y
9999 c. computedProp += 1
100100
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"
104104 let z = c [ 0 ]
105105 c [ 0 ] = z
106106 c [ 0 ] += 1
107107}
108108
109+ // CHECK-DAG: @"$s25weak_import_native_helper1CCACycfCTq" = extern_weak global %swift.method_descriptor
109110class Sub : C {
110111 deinit {
111112 // This is correctly a strong symbol reference; the class is not declared
112113 // weak.
113- // CHECK-DAG-LABEL : declare swiftcc {{.+}} @"$s25weak_import_native_helper1CCfd"
114+ // CHECK-DAG: declare swiftcc {{.+}} @"$s25weak_import_native_helper1CCfd"
114115 }
115116}
116117
117118func testProtocolExistential( _ p: P ) {
118119 var mutP = p
119120
120- // CHECK-DAG-LABEL : declare extern_weak {{.+}} @"$s25weak_import_native_helper1PP2fnyyFTj"
121+ // CHECK-DAG: declare extern_weak {{.+}} @"$s25weak_import_native_helper1PP2fnyyFTj"
121122 p. fn ( )
122123
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"
126127 let x = p. prop
127128 mutP. prop = x
128129 mutP. prop += 1
129130
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"
133134 let z = p [ 0 ]
134135 mutP [ 0 ] = z
135136 mutP [ 0 ] += 1
136137}
137138
138139func 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"
140141 var mutP = type. init ( )
141142
142143 mutP. fn ( )
@@ -151,31 +152,35 @@ func testProtocolGeneric<Impl: P>(_ type: Impl.Type) {
151152}
152153
153154func 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
161162 return [ WeakS . self, WeakE . self, WeakC . self, WeakP . self, GenericS< Int> . self , GenericE< Int> . self , GenericC< Int> . self ]
162163}
163164
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
164168class WeakSub : WeakC {
165169 deinit {
166- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper5WeakCCfd"
170+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper5WeakCCfd"
167171 }
168172}
169173
174+ // CHECK-DAG: @"$s25weak_import_native_helper8GenericCCACyxGycfCTq" = extern_weak global %swift.method_descriptor
170175class WeakGenericSub : GenericC < Int > {
171176 deinit {
172- // CHECK-DAG-LABEL : declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper8GenericCCfd"
177+ // CHECK-DAG: declare extern_weak swiftcc {{.+}} @"$s25weak_import_native_helper8GenericCCfd"
173178 }
174179}
175180
176181protocol RefinesP : BaseP { }
177182
178- // CHECK-DAG-LABEL : @"$s25weak_import_native_helper1SVAA5BasePAAWP" = extern_weak global i8*
183+ // CHECK-DAG: @"$s25weak_import_native_helper1SVAA5BasePAAWP" = extern_weak global i8*
179184extension S : RefinesP { }
180185
181186// We should not hoist the metadata accessor accross the version check.
0 commit comments