| // RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil -emit-ir %s | %FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-%target-runtime |
| // REQUIRES: executable_test |
| |
| // REQUIRES: CPU=x86_64 |
| |
| sil_stage canonical |
| |
| import Builtin |
| import Swift |
| |
| class C { |
| required init() |
| } |
| |
| // CHECK: [[C:%T6vtable1CC]] = type <{ %swift.refcounted }> |
| |
| sil @$S6vtable1CCACycACmcfC : $@convention(method) (@thick C.Type) -> @owned C |
| sil @$S6vtable1CCACycACmcfc : $@convention(method) (@owned C) -> @owned C |
| sil @$S6vtable1CCfd : $@convention(method) (@owned C) -> @owned Builtin.NativeObject |
| sil @$S6vtable1CCfD : $@convention(method) (@owned C) -> () |
| |
| // CHECK-objc: @"$S6vtable1CCMf" = internal global [[C_METADATA_T:<{.*\* }>]] <{ |
| // CHECK-objc: void ([[C]]*)* @"$S6vtable1CCfD", |
| // CHECK-objc: i8** @"$SBoWV", |
| // CHECK-objc: i64 ptrtoint (%objc_class* @"$S6vtable1CCMm" to i64), |
| // CHECK-objc: %objc_class* @"OBJC_CLASS_$_{{(_TtCs12_)?}}SwiftObject", |
| // CHECK-objc: %swift.opaque* @_objc_empty_cache, |
| // CHECK-objc: %swift.opaque* null, |
| // CHECK-objc: i64 add (i64 ptrtoint ({ i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8* }* @_DATA__TtC6vtable1C to i64), i64 {{1|2}}), |
| // CHECK-objc: i32 {{3|2}}, i32 0, i32 16, i16 7, i16 0, |
| // CHECK-objc: i32 112, i32 16, |
| // CHECK-objc: @"$S6vtable1CCMn" |
| // CHECK-objc: [[C]]* (%swift.type*)* @"$S6vtable1CCACycACmcfC", |
| // CHECK-objc: [[C]]* ([[C]]*)* @"$S6vtable1CCACycACmcfc" |
| // CHECK-objc: }> |
| |
| // CHECK-native: @"$S6vtable1CCMf" = internal global [[C_METADATA_T:<{.*\* }>]] <{ |
| // CHECK-native: void ([[C]]*)* @"$S6vtable1CCfD", |
| // CHECK-native: i8** @"$SBoWV", |
| // CHECK-native: i64 0, |
| // CHECK-native: %swift.type* null, |
| // CHECK-native: %swift.opaque* null, |
| // CHECK-native: %swift.opaque* null, |
| // CHECK-native: i64 1, |
| // CHECK-native: i32 {{3|2}}, i32 0, i32 16, i16 7, i16 0, |
| // CHECK-native: i32 112, i32 16, |
| // CHECK-native: @"$S6vtable1CCMn" |
| // CHECK-native: [[C]]* (%swift.type*)* @"$S6vtable1CCACycACmcfC", |
| // CHECK-native: [[C]]* ([[C]]*)* @"$S6vtable1CCACycACmcfc" |
| // CHECK-native: }> |
| |
| sil_vtable C { |
| #C.init!allocator.1: @$S6vtable1CCACycACmcfC |
| #C.init!initializer.1: @$S6vtable1CCACycACmcfc |
| } |