From 0178e0161f46bd396c2282207ea1894b295f692e Mon Sep 17 00:00:00 2001 From: lemon Date: Sat, 18 Apr 2026 11:13:44 +0200 Subject: c: allow compile time eval of left-shifting negative value --- src/c_eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/c_eval.c b/src/c_eval.c index 0eb6df2..8518b91 100644 --- a/src/c_eval.c +++ b/src/c_eval.c @@ -330,7 +330,7 @@ binop(Expr *ex, enum evalmode mode) case EXOR|U: case EXOR|S: a->u ^= b->u; break; - case ESHL|S: if (a->i < 0) return 0; + case ESHL|S: if (a->i < 0) { /* UB, but it's fine? */ } case ESHL|U: if (b->u >= 8*targ_primsizes[opty.t]) return 0; a->u <<= b->u; break; -- cgit v1.2.3