On Wed, Jan 15, 2014 at 10:37:04PM +0000, Iyer, Balaji V wrote: > +2014-01-15 Balaji V. Iyer <balaji.v.i...@intel.com> > + > + PR c/59825 > + * c-array-notation.c (expand_array_notation_exprs): Added COMPOUND_EXPR > + case. > +
"Add" > --- a/gcc/c/c-array-notation.c > +++ b/gcc/c/c-array-notation.c > @@ -1289,6 +1289,15 @@ expand_array_notation_exprs (tree t) > A[x:y]; > Replace those with just void zero node. */ > t = void_zero_node; > + return t; Can't you just return void_zero_node; here? > + case COMPOUND_EXPR: > + if (contains_array_notation_expr (t)) > + if (TREE_CODE (TREE_OPERAND (t, 0)) == SAVE_EXPR) > + { > + t = expand_array_notation_exprs (TREE_OPERAND (t, 1)); > + return t; And return expand_array_notation_exprs (TREE_OPERAND (t, 1)); here? Also, is that if (contains_array_notation_expr (t)) needed? At the start of the function there's 1229 if (!contains_array_notation_expr (t)) 1230 return t; Marek