]> Nishi Git Mirror - gwion.git/commitdiff
:bug: add a few checks
authorfennecdjay <fennecdjay@gmail.com>
Tue, 20 Dec 2022 11:01:20 +0000 (12:01 +0100)
committerfennecdjay <fennecdjay@gmail.com>
Tue, 20 Dec 2022 11:01:49 +0000 (12:01 +0100)
src/emit/emit.c
src/lib/array.c

index ceba3b50c11bad0caf3705413bf693a1f34f2e32..4b9ac0e04619cbe0dbcdcdf5fb99601c7c2afd10 100644 (file)
@@ -867,7 +867,7 @@ ANN static m_bool emit_prim_locale(const Emitter emit, const Symbol *id) {
   const M_Object string = new_string(emit->gwion, s_name(*id));
   emit_pushimm(emit, (m_uint)string);
   emit_pushimm(emit, (m_uint)emit->locale->code);
-  emit_exp_call1(emit, emit->locale, true);
+  CHECK_BB(emit_exp_call1(emit, emit->locale, true));
   emit_regmove(emit, -emit->locale->def->base->ret_type->size);
   const VM_Code code = finalyze(emit, EOC);
   const VM_Shred shred = new_vm_shred(emit->gwion->mp, code);
@@ -1750,7 +1750,7 @@ ANN m_bool emit_exp_spork(const Emitter emit, const Exp_Unary *unary) {
       .type = emit->env->class_def,
       .exp_type = ae_exp_primary
     };
-    emit_exp(emit, &exp);
+    CHECK_BB(emit_exp(emit, &exp));
     offset += SZ_INT;
   }
   if(sporker.captures) {
@@ -1769,7 +1769,7 @@ ANN m_bool emit_exp_spork(const Emitter emit, const Exp_Unary *unary) {
       };
       if(cap->is_ref) exp_setvar(&exp, true);
       offset += exp_size(&exp);
-      emit_exp(emit, &exp);
+      CHECK_BB(emit_exp(emit, &exp));
 //      emit_exp_addref(emit, &exp, -exp_size(&exp));
     }
   }
@@ -1995,7 +1995,7 @@ ANN static m_bool emit_stmt_code(const Emitter emit, const Stmt_Code stmt) {
 
 ANN static m_bool optimize_tail_call(const Emitter emit, const Exp_Call *e) {
   if (e->args) {
-    emit_func_args(emit, e);
+    CHECK_BB(emit_func_args(emit, e));
     const Func f = e->func->type->info->func;
     emit_regmove(emit, -f->def->stack_depth);
     emit_args(emit, f);
index 6d37b1591560780d8f6e7bce82df83304a4658f1..b812f0ccb3d61136de77d8c19c0c37fce231d7cb 100644 (file)
@@ -741,7 +741,7 @@ static OP_CHECK(opck_array_scan) {
   env->context       = base->info->value->from->ctx;
   const m_uint scope = env_push(env, base->info->value->from->owner_class,
                                 base->info->value->from->owner);
-  (void)scan0_class_def(env, cdef);
+  CHECK_BN(scan0_class_def(env, cdef));
   const Type   t   = cdef->base.type;
   if (GET_FLAG(base, abstract) && !tflag(base, tflag_union))
     SET_FLAG(t, abstract);