diff options
| author | 2025-11-16 17:46:08 +0100 | |
|---|---|---|
| committer | 2025-11-19 10:40:35 +0100 | |
| commit | 81fe479bc2cc456a8f1c755b1b5d941c3ffed2e7 (patch) | |
| tree | cc93499c9877aadf2340980e3d5f500e41568081 /c/eval.c | |
| parent | 0db56689eb9f82a20331137111a8f2da2d759cca (diff) | |
eval: fix enum edge case
Diffstat (limited to 'c/eval.c')
| -rw-r--r-- | c/eval.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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; |