| // RUN: %target-swift-frontend -emit-ir -verify -I %S/../IDE/Inputs/custom-modules %s |
| // REQUIRES: objc_interop |
| |
| 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 : $() |
| } |