From 31032275a618f74865bdc877b569eae2227e79b4 Mon Sep 17 00:00:00 2001 From: lemon Date: Fri, 20 Mar 2026 08:32:09 +0100 Subject: c: better preserve source location in some cases --- src/c.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/c.c') diff --git a/src/c.c b/src/c.c index fcde10e..c6adb4c 100644 --- a/src/c.c +++ b/src/c.c @@ -1233,10 +1233,12 @@ Unary: ty = unops[nunop].ty; if (!castcheck(ty, &ex)) error(&span, "cannot cast value of type '%ty' to '%ty'", ex.ty, ty); - if (ex.t == ENUMLIT && isint(ex.ty) && ty.t == TYPTR) + if (ex.t == ENUMLIT && isint(ex.ty) && ty.t == TYPTR) { ex.ty = ty; - else + ex.span = span; + } else { ex = mkexpr(ECAST, span, ty, .sub = exprdup(cm, &ex)); + } } } -- cgit v1.2.3