diff options
| author | WormHeamer | 2025-10-21 06:22:55 -0400 |
|---|---|---|
| committer | WormHeamer | 2025-10-21 06:22:55 -0400 |
| commit | 9fb0d728d0440fc32394b6286ecadf2f4ec35fa1 (patch) | |
| tree | a10892b5d94db1c6dcf5d79045680428c42aadcf /main.c | |
| parent | b44e40db00906982485d98bebc2e3bed6c9783b9 (diff) | |
cleanup
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -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); |
