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