blob: e0c7c51c88e91b562ae6ffa7600b8f92e72f579c [file] [log] [blame]
// RUN: %target-swift-frontend -I %S/Inputs/abi %s -emit-ir | FileCheck %s
sil_stage canonical
import c_layout
// CHECK-LABEL: @_TMVVSC14HasNestedUnion18__Unnamed_struct_s = linkonce_odr hidden global
// CHECK-SAME: void (%swift.type*)* @initialize_metadata___Unnamed_struct_s,
// CHECK-SAME: i8* getelementptr inbounds
// CHECK-SAME: %swift.type* null,
// CHECK-SAME: [[INT:i[0-9]+]] 1,
// CHECK-SAME: @_TWVVVSC14HasNestedUnion18__Unnamed_struct_s
// CHECK-SAME: [[INT]] 1,
// CHECK-SAME: [[INT]] sub ({{.*}}),
// CHECK-SAME: %swift.type* null,
// CHECK-SAME: [[INT]] 0,
// CHECK-SAME: [[INT]] 4 }
sil @test0 : $() -> () {
bb0:
%0 = metatype $@thick HasNestedUnion.Type
%ret = tuple ()
return %ret : $()
}
// CHECK-LABEL: define private void @initialize_metadata___Unnamed_struct_s
// CHECK: [[PARENT:%.*]] = call %swift.type* @_TMaVSC14HasNestedUnion()
// CHECK-NEXT: [[T0:%.]] = bitcast %swift.type* %0 to %swift.type**
// CHECK-NEXT: [[T1:%.]] = getelementptr inbounds %swift.type*, %swift.type** [[T0]], [[INT]] 2
// CHECK-NEXT: store %swift.type* [[PARENT]], %swift.type** [[T1]],
// CHECK-NEXT: ret void