From 9fb0d728d0440fc32394b6286ecadf2f4ec35fa1 Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Tue, 21 Oct 2025 06:22:55 -0400 Subject: cleanup --- main.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 3315f2a..9b22751 100644 --- a/main.c +++ b/main.c @@ -253,12 +253,17 @@ void parse_if(Lexer *l, Proc *p) { Node *if_node = node_new(g, N_IF_ELSE, g->ctrl, cond); if_node->val = (Value) { .type = { .lvl = T_TOP, .t = T_TUPLE }, - .tuple = { 0 } + .tuple = { + .len = 2, + .cap = 2, + .data = new_arr(g->pool->arena, Value, 2) + } }; - ZDA_PUSH(g->pool->arena, &if_node->val.tuple, (Value) { .type = { .lvl = T_CTRL, .t = T_NONE } }); - ZDA_PUSH(g->pool->arena, &if_node->val.tuple, (Value) { .type = { .lvl = T_CTRL, .t = T_NONE } }); + if_node->val.tuple.data[0] = (Value) { .type = { .lvl = T_CTRL, .t = T_NONE } }; + if_node->val.tuple.data[1] = (Value) { .type = { .lvl = T_CTRL, .t = T_NONE } }; if_node = node_peephole(if_node, g, l); node_add(g, if_node, g->keepalive); + Node *if_true = node_new(g, N_PROJ, if_node); Node *if_false = node_new(g, N_PROJ, if_node); if_true->val.i = 0; @@ -266,6 +271,7 @@ void parse_if(Lexer *l, Proc *p) { if_true = node_peephole(if_true, g, l); if_false = node_peephole(if_false, g, l); node_remove(g, if_node, g->keepalive); + assert(if_true->in.len > 0); assert(if_false->in.len > 0); node_add(g, if_true, g->keepalive); -- cgit v1.2.3