From 41483dda42f6eb2ce45b0f8580fc46eacf6390b8 Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 15 Oct 2025 11:18:47 +0200 Subject: c: fix codegen for enum types --- eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index cfd8d2b..6fc5136 100644 --- a/eval.c +++ b/eval.c @@ -137,7 +137,7 @@ isaddrconst(struct expr *ex) { if (ex->t == ECAST) return isaddrconst(ex->sub) || (eval(ex->sub, EVSTATICINI) && ex->sub->t == ENUMLIT); - if (ex->t == EADDROF && isglobsym(ex->sub)) + if (ex->t == EADDROF && (isglobsym(ex->sub) || (ex->sub->t == EGETF && isglobsym(ex->sub->sub)))) return 1; if (isglobsym(ex) && in_range(ex->ty.t, TYARRAY, TYFUNC)) return 1; -- cgit v1.2.3