@@ -29,11 +29,11 @@ func testSymbols() {
29
29
30
30
// CHECK-IR-LABEL: define{{.*}} void @_T08typedefs18testVTableBuildingy3Lib4UserC4user_tF
31
31
public func testVTableBuilding( user: User ) {
32
- // The important thing in this CHECK line is the "i64 29 ", which is the offset
32
+ // The important thing in this CHECK line is the "i64 30 ", which is the offset
33
33
// for the vtable slot for 'lastMethod()'. If the layout here
34
- // changes, please check that offset 29 is still correct.
34
+ // changes, please check that offset is still correct.
35
35
// CHECK-IR-NOT: ret
36
- // CHECK-IR: getelementptr inbounds void (%T3Lib4UserC*)*, void (%T3Lib4UserC*)** %{{[0-9]+}}, {{i64 29 |i32 32 }}
36
+ // CHECK-IR: getelementptr inbounds void (%T3Lib4UserC*)*, void (%T3Lib4UserC*)** %{{[0-9]+}}, {{i64 30 |i32 33 }}
37
37
_ = user. lastMethod ( )
38
38
} // CHECK-IR: ret void
39
39
@@ -172,6 +172,14 @@ open class User {
172
172
// CHECK-RECOVERY: /* placeholder for init(wrappedRequiredInSub:) */
173
173
public init ( wrappedRequiredInSub: WrappedInt ) { }
174
174
175
+ // CHECK: dynamic init(wrappedDynamic: WrappedInt)
176
+ // CHECK-RECOVERY: /* placeholder for init(wrappedDynamic:) */
177
+ @objc public dynamic init ( wrappedDynamic: WrappedInt ) { }
178
+
179
+ // CHECK: dynamic required init(wrappedRequiredDynamic: WrappedInt)
180
+ // CHECK-RECOVERY: /* placeholder for init(wrappedRequiredDynamic:) */
181
+ @objc public dynamic required init ( wrappedRequiredDynamic: WrappedInt ) { }
182
+
175
183
public func lastMethod( ) { }
176
184
}
177
185
// CHECK: {{^}$}}
@@ -200,7 +208,8 @@ open class User {
200
208
// 26 CHECK-VTABLE-NEXT: #User.init!allocator.1:
201
209
// 27 CHECK-VTABLE-NEXT: #User.init!initializer.1:
202
210
// 28 CHECK-VTABLE-NEXT: #User.init!initializer.1:
203
- // 29 CHECK-VTABLE-NEXT: #User.lastMethod!1:
211
+ // 29 CHECK-VTABLE-NEXT: #User.init!allocator.1:
212
+ // 30 CHECK-VTABLE-NEXT: #User.lastMethod!1:
204
213
// CHECK-VTABLE: }
205
214
206
215
@@ -273,6 +282,10 @@ open class UserSub : User {
273
282
// CHECK: required init(wrappedRequiredInSub: WrappedInt?)
274
283
// CHECK-RECOVERY: /* placeholder for init(wrappedRequiredInSub:) */
275
284
public required override init ( wrappedRequiredInSub: WrappedInt ? ) { super. init ( ) }
285
+
286
+ // CHECK: required init(wrappedRequiredDynamic: WrappedInt)
287
+ // CHECK-RECOVERY: /* placeholder for init(wrappedRequiredDynamic:) */
288
+ public required init ( wrappedRequiredDynamic: WrappedInt ) { super. init ( ) }
276
289
}
277
290
// CHECK: {{^}$}}
278
291
// CHECK-RECOVERY: {{^}$}}
0 commit comments