On Thu, Aug 07, 2014 at 12:33:00PM +0000, Zamyatin, Igor wrote: > --- a/gcc/c-family/array-notation-common.c > +++ b/gcc/c-family/array-notation-common.c > @@ -221,11 +221,15 @@ find_rank (location_t loc, tree orig_expr, tree expr, > bool ignore_builtin_fn, > current_rank++; > ii_tree = ARRAY_NOTATION_ARRAY (ii_tree); > } > - else if (TREE_CODE (ii_tree) == ARRAY_REF) > + else if (handled_component_p (ii_tree) > + || TREE_CODE (ii_tree) == INDIRECT_REF) > ii_tree = TREE_OPERAND (ii_tree, 0); > else if (TREE_CODE (ii_tree) == PARM_DECL > || TREE_CODE (ii_tree) == VAR_DECL) > break; > + else > + gcc_unreachable (); > + > } > if (*rank == 0)
Please watch your formatting. Two spaces before (ii_tree) instead of one, addition of an extra useless blank line. Jakub