From 62dbedc9b83a771b2f3bb68b23be05e059cdffe8 Mon Sep 17 00:00:00 2001 From: dzaima Date: Wed, 12 May 2021 16:37:00 +0300 Subject: [PATCH] empty int arr constant --- src/fns.c | 4 ++-- src/h.h | 2 +- src/i32arr.c | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/fns.c b/src/fns.c index db5cc6dc..1ef36738 100644 --- a/src/fns.c +++ b/src/fns.c @@ -75,8 +75,8 @@ B fne_c1(B t, B x) { dec(x); return r; } else { - dec(x); i32* tmp; - return m_i32arrv(&tmp, 0); + dec(x); + return inc(bi_emptyIVec); } } u64 depth(B x) { // doesn't consume diff --git a/src/h.h b/src/h.h index f3c26633..7608bc1c 100644 --- a/src/h.h +++ b/src/h.h @@ -417,7 +417,7 @@ TypeInfo ti[t_COUNT]; #define TI(x) (ti[v(x)->type]) -B bi_N, bi_noVar, bi_badHdr, bi_optOut, bi_noFill, bi_emptyHVec; +B bi_N, bi_noVar, bi_badHdr, bi_optOut, bi_noFill, bi_emptyHVec, bi_emptyIVec; void do_nothing(B x) { } bool isNothing(B b) { return b.u==bi_N.u; } diff --git a/src/i32arr.c b/src/i32arr.c index 758511db..049d85a6 100644 --- a/src/i32arr.c +++ b/src/i32arr.c @@ -77,4 +77,6 @@ static inline void i32arr_init() { ti[t_i32arr].arrD1 = true; ti[t_i32slice].arrD1 = true; ti[t_i32arr].elType = el_i32; ti[t_i32slice].elType = el_i32; ti[t_i32arr].canStore = i32arr_canStore; + i32* tmp; bi_emptyIVec = m_i32arrv(&tmp, 0); + gc_add(bi_emptyIVec); }