summaryrefslogtreecommitdiff
path: root/codegen.c
diff options
context:
space:
mode:
authorCarson Fleming <cflems@cflems.net>2026-07-17 13:00:18 -0700
committerCarson Fleming <cflems@cflems.net>2026-07-17 13:00:18 -0700
commitcd1a01e2cf02ad556900219e561ebb64619fc6a5 (patch)
treed76cc861b2305a9bb84d7095cb96c490e92df315 /codegen.c
parent424be65858999a894a18e1972fa9649fbc4c1df8 (diff)
downloadccc-cd1a01e2cf02ad556900219e561ebb64619fc6a5.tar.gz
working fib with stubbed typechecker
Diffstat (limited to 'codegen.c')
-rw-r--r--codegen.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/codegen.c b/codegen.c
index e1e534c..f126bda 100644
--- a/codegen.c
+++ b/codegen.c
@@ -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,