+2004-12-14 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c++/18965
+ * init.c (build_zero_init): If the max_index is 0, there is no
+ need to create a RANGE_EXPR.
+
2004-12-14 Mark Mitchell <mark@codesourcery.com>
PR c++/18793
tree elt_init = build_zero_init (TREE_TYPE (type),
/*nelts=*/NULL_TREE,
static_storage_p);
- tree range = build2 (RANGE_EXPR,
- sizetype, size_zero_node, max_index);
+ tree range;
+
+ /* If this is a one element array, we just use a regular init. */
+ if (tree_int_cst_equal (size_zero_node, max_index))
+ range = size_zero_node;
+ else
+ range = build2 (RANGE_EXPR, sizetype, size_zero_node, max_index);
inits = tree_cons (range, elt_init, inits);
}