From def096c3ea694b5049055dcd9b33424ed7c7243b Mon Sep 17 00:00:00 2001 From: David Nadlinger Date: Fri, 22 Apr 2011 14:43:56 +0200 Subject: [PATCH] Merged DMD commit 8fb6d9a935b7b51ca6caf8e26c94125fc317b434: bugzilla 3665 Regression(1.051, 2.036) Assignment with array slicing does not work --- dmd/arrayop.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) 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;