aboutsummaryrefslogtreecommitdiff
path: root/src/sema.c
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-09-10 05:52:08 +0200
committerhachem <im@hachem.wtf>2026-09-10 05:52:08 +0200
commitd50af2e474281a1e88d191f783c2792824698974 (patch)
tree571afdff3ac141bbfcee37bc61dfdb6ea8fda163 /src/sema.c
parentbf157cf09b8b0888c54a165b887309a4e801f608 (diff)
feat: conditional select
Diffstat (limited to 'src/sema.c')
-rw-r--r--src/sema.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/sema.c b/src/sema.c
index 4b9af4a..01fe644 100644
--- a/src/sema.c
+++ b/src/sema.c
@@ -504,6 +504,13 @@ static void check_statement(struct RefCheck* check, struct Statement* statement)
// symbols or registers hdass does not model, so leave them to the
// assembler rather than flagging them as undefined
break;
+ case STATEMENT_SELECT:
+ check_target(check, statement->select.target);
+ check_expr(check, statement->select.if_value);
+ check_expr(check, statement->select.left);
+ check_expr(check, statement->select.right);
+ check_expr(check, statement->select.else_value);
+ break;
}
}