aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--patio-to-cranelift/src/codegen/mod.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/patio-to-cranelift/src/codegen/mod.rs b/patio-to-cranelift/src/codegen/mod.rs
index 0f7dcff5..75e13ba2 100644
--- a/patio-to-cranelift/src/codegen/mod.rs
+++ b/patio-to-cranelift/src/codegen/mod.rs
@@ -323,10 +323,15 @@ fn compile_call(call: &PatioCall, context: &mut CompilerFunctionContext<'_>) {
let cranelift_args = compile_operands(call.args.iter(), context);
let func_ref = context.func_id(&call.function_name);
- context
+ let cranelift_call = context
.function_builder
.ins()
.call(func_ref, &cranelift_args);
+
+ if let Some(destination) = &call.destination {
+ let cranelift_value = context.function_builder.inst_results(cranelift_call)[0];
+ def_destination(destination, cranelift_value, context);
+ }
}
fn compile_if(if_: &PatioIf, context: &mut CompilerFunctionContext<'_>) {