From: Richard Stallman Date: Mon, 13 Sep 1993 20:17:48 +0000 (+0000) Subject: (complete_array_type): Handle TREE_PURPOSE of array constructor elements. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ecd4cee03c1299324409ee653b673e8acc84ec58;p=gcc.git (complete_array_type): Handle TREE_PURPOSE of array constructor elements. From-SVN: r5316 --- diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 539828e1c67..205d5ad8458 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -3672,9 +3672,16 @@ complete_array_type (type, initial_value, do_default) } else if (TREE_CODE (initial_value) == CONSTRUCTOR) { - register int nelts - = list_length (CONSTRUCTOR_ELTS (initial_value)); - maxindex = build_int_2 (nelts - 1, - (nelts == 0)); + tree elts = CONSTRUCTOR_ELTS (initial_value); + maxindex = integer_zero_node; + for (; elts; elts = TREE_CHAIN (elts)) + { + if (TREE_PURPOSE (elts)) + maxindex = TREE_PURPOSE (elts); + else + maxindex = size_binop (PLUS_EXPR, maxindex, size_one_node); + } + maxindex = copy_node (maxindex); } else {