diff --git a/dmd/arrayop.c b/dmd/arrayop.c index 5e2e5780..b2433d4b 100644 --- a/dmd/arrayop.c +++ b/dmd/arrayop.c @@ -55,8 +55,18 @@ bool isArrayOpValid(Expression *e) case TOKxor: case TOKand: case TOKor: + case TOKassign: + case TOKaddass: + case TOKminass: + case TOKmulass: + case TOKdivass: + case TOKmodass: + case TOKxorass: + case TOKandass: + case TOKorass: #if DMDV2 case TOKpow: + case TOKpowass: #endif return isArrayOpValid(((BinExp *)e)->e1) && isArrayOpValid(((BinExp *)e)->e2); @@ -604,6 +614,19 @@ int Expression::isArrayOperand() case TOKxor: case TOKand: case TOKor: + case TOKassign: + case TOKaddass: + case TOKminass: + case TOKmulass: + case TOKdivass: + case TOKmodass: + case TOKxorass: + case TOKandass: + case TOKorass: +#if DMDV2 + case TOKpow: + case TOKpowass: +#endif case TOKneg: case TOKtilde: return 1;