From e26937301f2f7291fcabebd89d85e21a450fb14e Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 10 Mar 2023 19:06:37 -0600 Subject: [PATCH] bugfix: return simple structures from dyncall procedures --- compiler/src/wasm_emit.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/compiler/src/wasm_emit.c b/compiler/src/wasm_emit.c index f73fba2d..1fda5143 100644 --- a/compiler/src/wasm_emit.c +++ b/compiler/src/wasm_emit.c @@ -4120,6 +4120,11 @@ static void emit_function(OnyxWasmModule* mod, AstFunction* fd) { } static char encode_type_as_dyncall_symbol(Type *t) { + if (type_struct_is_just_one_basic_value(t)) { + Type *inner = type_struct_is_just_one_basic_value(t); + return encode_type_as_dyncall_symbol(inner); + } + if (t->kind == Type_Kind_Slice) return 's'; if (t->kind == Type_Kind_Pointer) return 'p'; if (t->kind == Type_Kind_Enum) return encode_type_as_dyncall_symbol(t->Enum.backing); -- 2.25.1