Commit 20bf3fac by Richard Stallman

(complete_array_type): Correctly set MAXINDEX to one less than array size.

From-SVN: r5670
parent 41f2002c
...@@ -3675,12 +3675,13 @@ complete_array_type (type, initial_value, do_default) ...@@ -3675,12 +3675,13 @@ complete_array_type (type, initial_value, do_default)
{ {
int eltsize int eltsize
= int_size_in_bytes (TREE_TYPE (TREE_TYPE (initial_value))); = int_size_in_bytes (TREE_TYPE (TREE_TYPE (initial_value)));
maxindex = build_int_2 (TREE_STRING_LENGTH (initial_value) / eltsize - 1, 0); maxindex = build_int_2 ((TREE_STRING_LENGTH (initial_value)
/ eltsize) - 1, 0);
} }
else if (TREE_CODE (initial_value) == CONSTRUCTOR) else if (TREE_CODE (initial_value) == CONSTRUCTOR)
{ {
tree elts = CONSTRUCTOR_ELTS (initial_value); tree elts = CONSTRUCTOR_ELTS (initial_value);
maxindex = integer_zero_node; maxindex = size_binop (MINUS_EXPR, integer_zero_node, size_one_node);
for (; elts; elts = TREE_CHAIN (elts)) for (; elts; elts = TREE_CHAIN (elts))
{ {
if (TREE_PURPOSE (elts)) if (TREE_PURPOSE (elts))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment