mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
I am doing this separately from the actual change to eliminate the option to make it easier to review.
26 lines
1009 B
Plaintext
26 lines
1009 B
Plaintext
// RUN: %target-swift-frontend -emit-ir -verify -I %S/../IDE/Inputs/custom-modules %s
|
|
|
|
sil_stage canonical
|
|
|
|
import Builtin
|
|
import Swift
|
|
import ImportAsMember
|
|
|
|
sil @IAMStruct1CreateSimple : $@convention(c) () -> Struct1
|
|
sil @IAMStruct1Rotate : $@convention(c) (@in Struct1, Double) -> Struct1
|
|
sil @IAMStruct1SetAltitude : $@convention(c) (@inout Struct1, Double) -> ()
|
|
|
|
sil @invoke_methods : $@convention(thin) (Double) -> () {
|
|
entry(%z : $Double):
|
|
%a = function_ref @IAMStruct1CreateSimple : $@convention(c) () -> Struct1
|
|
%b = apply %a() : $@convention(c) () -> Struct1
|
|
%c = alloc_stack $Struct1
|
|
store %b to %c : $*Struct1
|
|
%d = function_ref @IAMStruct1Rotate : $@convention(c) (@in Struct1, Double) -> Struct1
|
|
%e = apply %d(%c, %z) : $@convention(c) (@in Struct1, Double) -> Struct1
|
|
%f = function_ref @IAMStruct1SetAltitude : $@convention(c) (@inout Struct1, Double) -> ()
|
|
apply %f(%c, %z) : $@convention(c) (@inout Struct1, Double) -> ()
|
|
dealloc_stack %c : $*Struct1
|
|
return undef : $()
|
|
}
|