cproc

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.nihaljere.xyz/cproc
Log | Files | Refs | Submodules | README | LICENSE

commit 6463066a7858c064626b4260a4ea4b3903e53886
parent ed048513e360ba62d5c0520c43b725c69a0ed162
Author: Michael Forney <mforney@mforney.org>
Date:   Sun, 19 May 2019 14:09:37 -0700

eval: Collapse & and * operators in integer constant expressions

They might be used to implement offsetof.

Diffstat:
Meval.c | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eval.c b/eval.c @@ -109,8 +109,6 @@ eval(struct expr *expr, enum evalkind kind) expr->ident.decl = d; break; case EXPRUNARY: - if (kind != EVALINIT) - break; l = eval(expr->base, kind); if (expr->op != TBAND) break; @@ -120,6 +118,8 @@ eval(struct expr *expr, enum evalkind kind) expr = eval(l->base, kind); break; case EXPRSTRING: + if (kind != EVALINIT) + break; l->ident.decl = stringdecl(l); l->kind = EXPRIDENT; expr->base = l;