From 781395ada1883203582adec70e5ab1a2eda316bb Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 16 Jun 2020 16:21:44 +0100 Subject: Add `deferred_in_out` attribute --- src/llvm_backend.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/llvm_backend.cpp') diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index bc3cba109..994e0f29e 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -7113,6 +7113,14 @@ lbValue lb_emit_call(lbProcedure *p, lbValue value, Array const &args, case DeferredProcedure_out: result_as_args = lb_value_to_array(p, result); break; + case DeferredProcedure_in_out: + { + auto out_args = lb_value_to_array(p, result); + array_init(&result_as_args, heap_allocator(), in_args.count + out_args.count); + array_copy(&result_as_args, in_args, 0); + array_copy(&result_as_args, out_args, in_args.count); + } + break; } lb_add_defer_proc(p, p->scope_index, deferred, result_as_args); -- cgit v1.2.3