init.c (expand_vec_init): The initialization of each array element is a full-expression.

* init.c (expand_vec_init): The initialization of each array
	element is a full-expression.

From-SVN: r19557
This commit is contained in:
Jason Merrill 1998-05-05 23:54:18 +00:00 committed by Jason Merrill
parent 25cf40e29d
commit 0fac6b0b32
2 changed files with 12 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Tue May 5 23:54:04 1998 Jason Merrill <jason@yorick.cygnus.com>
* init.c (expand_vec_init): The initialization of each array
element is a full-expression.
Tue May 5 18:24:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
* method.c: Add a call to build_type_variant to get the right type.

View File

@ -2860,6 +2860,9 @@ expand_vec_init (decl, base, maxindex, init, from_array)
expand_eh_region_start ();
expand_start_loop_continue_elsewhere (1);
/* The initialization of each array element is a full-expression. */
expand_start_target_temps ();
if (from_array)
{
tree to = build1 (INDIRECT_REF, type, base);
@ -2895,6 +2898,10 @@ expand_vec_init (decl, base, maxindex, init, from_array)
if (base2)
expand_assignment (base2,
build (PLUS_EXPR, build_pointer_type (type), base2, size), 0, 0);
/* Cleanup any temporaries needed for the initial value. */
expand_end_target_temps ();
expand_loop_continue_here ();
expand_exit_loop_if_false (0, build (NE_EXPR, boolean_type_node,
build (PREDECREMENT_EXPR, ptrdiff_type_node, iterator, integer_one_node), minus_one));