aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--expr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/expr.c b/expr.c
index 009e05f..501e0e5 100644
--- a/expr.c
+++ b/expr.c
@@ -88,8 +88,10 @@ mkunaryexpr(enum tokenkind op, struct expression *base)
switch (op) {
case TBAND:
- if (base->flags & EXPRFLAG_DECAYED)
+ if (base->flags & EXPRFLAG_DECAYED) {
+ base->flags &= ~EXPRFLAG_DECAYED;
return base;
+ }
expr = mkexpr(EXPRUNARY, mkpointertype(base->type), 0);
expr->unary.op = op;
expr->unary.base = base;