diff options
| author | Carson Fleming <cflems@cflems.net> | 2026-07-17 13:00:18 -0700 |
|---|---|---|
| committer | Carson Fleming <cflems@cflems.net> | 2026-07-17 13:00:18 -0700 |
| commit | cd1a01e2cf02ad556900219e561ebb64619fc6a5 (patch) | |
| tree | d76cc861b2305a9bb84d7095cb96c490e92df315 /codegen.c | |
| parent | 424be65858999a894a18e1972fa9649fbc4c1df8 (diff) | |
| download | ccc-cd1a01e2cf02ad556900219e561ebb64619fc6a5.tar.gz | |
working fib with stubbed typechecker
Diffstat (limited to 'codegen.c')
| -rw-r--r-- | codegen.c | 11 |
1 files changed, 2 insertions, 9 deletions
@@ -273,20 +273,13 @@ static void emit_str_lit( } } -static struct var_def* get_var(const char* name) { - struct var_def* var_def; - if (!scope_get_var(scope, &var_def, name)) - CGEN_PANIC("reference to undefined variable %s", name); - return var_def; -} - static void emit_var_ref( FILE* outfile, const struct var_ref_node* node, const struct lval_def* dst ) { if (dst != NULL) { - emit_mov(outfile, dst, &get_var(node->ident)->loc); + emit_mov(outfile, dst, &node->def_ref->loc); } } @@ -315,7 +308,7 @@ static struct lval_def emit_lval( .type = var_def->resolved_type, }; case LVAL_VAR_REF: - var_def = get_var(node->inner.var_ref.ident); + var_def = node->inner.var_ref.def_ref; return (struct lval_def) { .loc = var_def->loc, .type = var_def->resolved_type, |
