From 81fe479bc2cc456a8f1c755b1b5d941c3ffed2e7 Mon Sep 17 00:00:00 2001 From: lemon Date: Sun, 16 Nov 2025 17:46:08 +0100 Subject: eval: fix enum edge case --- c/eval.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'c/eval.c') diff --git a/c/eval.c b/c/eval.c index 4e5411d..ce77c6e 100644 --- a/c/eval.c +++ b/c/eval.c @@ -27,8 +27,8 @@ static bool numcast(union type ty, struct expr *dst, const struct expr *src) { struct expr tmp; - enum typetag td = targ2hosttype(ty.t); - enum typetag ts = targ2hosttype(src->ty.t == TYENUM ? src->ty.backing : src->ty.t); + enum typetag td = targ2hosttype(scalartypet(ty)); + enum typetag ts = targ2hosttype(scalartypet(src->ty)); vlong isrc; if (src == dst) tmp = *src, src = &tmp; -- cgit v1.2.3