Skip to content

Commit 384c198

Browse files
authored
Merge pull request #13103 from jrose-apple/getting-testy
2 parents 16f5e64 + 34de03d commit 384c198

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

test/Serialization/Recovery/typedefs.swift

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ func testSymbols() {
2929

3030
// CHECK-IR-LABEL: define{{.*}} void @_T08typedefs18testVTableBuildingy3Lib4UserC4user_tF
3131
public func testVTableBuilding(user: User) {
32-
// The important thing in this CHECK line is the "i64 28", which is the offset
32+
// The important thing in this CHECK line is the "i64 30", which is the offset
3333
// for the vtable slot for 'lastMethod()'. If the layout here
34-
// changes, please check that offset 28 is still correct.
34+
// changes, please check that offset is still correct.
3535
// CHECK-IR-NOT: ret
36-
// CHECK-IR: getelementptr inbounds void (%T3Lib4UserC*)*, void (%T3Lib4UserC*)** %{{[0-9]+}}, {{i64 28|i32 31}}
36+
// CHECK-IR: getelementptr inbounds void (%T3Lib4UserC*)*, void (%T3Lib4UserC*)** %{{[0-9]+}}, {{i64 30|i32 33}}
3737
_ = user.lastMethod()
3838
} // CHECK-IR: ret void
3939

@@ -168,6 +168,18 @@ open class User {
168168
// CHECK-RECOVERY: /* placeholder for init(wrappedRequired:) */
169169
public required init(wrappedRequired: WrappedInt) {}
170170

171+
// CHECK: {{^}} init(wrappedRequiredInSub: WrappedInt)
172+
// CHECK-RECOVERY: /* placeholder for init(wrappedRequiredInSub:) */
173+
public init(wrappedRequiredInSub: WrappedInt) {}
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+
171183
public func lastMethod() {}
172184
}
173185
// CHECK: {{^}$}}
@@ -195,7 +207,9 @@ open class User {
195207
// 25 CHECK-VTABLE-NEXT: #User.init!initializer.1:
196208
// 26 CHECK-VTABLE-NEXT: #User.init!allocator.1:
197209
// 27 CHECK-VTABLE-NEXT: #User.init!initializer.1:
198-
// 28 CHECK-VTABLE-NEXT: #User.lastMethod!1:
210+
// 28 CHECK-VTABLE-NEXT: #User.init!initializer.1:
211+
// 29 CHECK-VTABLE-NEXT: #User.init!allocator.1:
212+
// 30 CHECK-VTABLE-NEXT: #User.lastMethod!1:
199213
// CHECK-VTABLE: }
200214

201215

@@ -264,6 +278,14 @@ open class UserSub : User {
264278
// CHECK: required init(wrappedRequired: WrappedInt?)
265279
// CHECK-RECOVERY: /* placeholder for init(wrappedRequired:) */
266280
public required init(wrappedRequired: WrappedInt?) { super.init() }
281+
282+
// CHECK: required init(wrappedRequiredInSub: WrappedInt?)
283+
// CHECK-RECOVERY: /* placeholder for init(wrappedRequiredInSub:) */
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() }
267289
}
268290
// CHECK: {{^}$}}
269291
// CHECK-RECOVERY: {{^}$}}

0 commit comments

Comments
 (0)