]> Nishi Git Mirror - gwion.git/commitdiff
:art: Update BMI again
authorJérémie Astor <fennecdjay@gmail.com>
Thu, 12 May 2022 20:46:12 +0000 (22:46 +0200)
committerJérémie Astor <fennecdjay@gmail.com>
Thu, 12 May 2022 20:46:12 +0000 (22:46 +0200)
plug
src/emit/emit.c
src/parse/partial.c

diff --git a/plug b/plug
index 862a51991bef3cc4c86bf195101780b61563ca25..5a583451cd50f26867cf18c9bd309e3cc0f523d2 160000 (submodule)
--- a/plug
+++ b/plug
@@ -1 +1 @@
-Subproject commit 862a51991bef3cc4c86bf195101780b61563ca25
+Subproject commit 5a583451cd50f26867cf18c9bd309e3cc0f523d2
index ce61d19822f1633524122b1d28cf9792d3f38d50..737c63b749b11ddd5e4741a771a606d47fca95f7 100644 (file)
@@ -650,7 +650,7 @@ ANN static m_bool emit_prim_array(const Emitter emit, const Array_Sub *data) {
   regseti(emit, count);
   const Instr instr = emit_add_instr(emit, ArrayInit);
   instr->m_val      = (m_uint)type;
-  instr->m_val2     = array_base_simple(type)->size;
+  instr->m_val2     = type->array_depth == 1 ? array_base_simple(type)->size : SZ_INT;
   emit_local_exp(emit, prim_exp(data));
   emit_notpure(emit);
   return GW_OK;
index b78fa5359bd3decb7037d65bb3c335f715350e30..94b5dac4692b5eab4f9d64fea0f832e44d3dca98 100644 (file)
@@ -23,7 +23,8 @@ ANN static Arg_List partial_arg_list(const Env env, const Arg_List base, const E
       sprintf(c, "@%u", args->len);
       const Arg *src = mp_vector_at(base, Arg, i);
       Type_Decl *td = src->td ? cpy_type_decl(env->gwion->mp, src->td) : NULL;
-      Arg arg = { .td = td, .var_decl = { .xid = insert_symbol(c) }};
+      const Array_Sub array = src->var_decl.array ? cpy_array_sub(env->gwion->mp, src->var_decl.array) : NULL;
+      Arg arg = { .td = td, .var_decl = { .xid = insert_symbol(c), .array = array }};
       mp_vector_add(env->gwion->mp, &args, Arg, arg);
     }
     i++;