From: Richard Sandiford Date: Wed, 2 Jan 2008 13:04:11 +0000 (+0000) Subject: tree-sra.c (scalarize_init): Insert the generate_element_init statements after the... X-Git-Tag: releases/gcc-4.3.0~777 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1463dfa49e88588db8afa9a03a4921f12cbccf19;p=thirdparty%2Fgcc.git tree-sra.c (scalarize_init): Insert the generate_element_init statements after the generate_element_zero... gcc/ * tree-sra.c (scalarize_init): Insert the generate_element_init statements after the generate_element_zero statements. From-SVN: r131258 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 490dc74140c1..803461c6284d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-01-02 Richard Sandiford + + * tree-sra.c (scalarize_init): Insert the generate_element_init + statements after the generate_element_zero statements. + 2008-01-02 Richard Guenther PR middle-end/34093 diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 83c5d8a2f091..9128677dde04 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -3354,19 +3354,20 @@ static void scalarize_init (struct sra_elt *lhs_elt, tree rhs, block_stmt_iterator *bsi) { bool result = true; - tree list = NULL; + tree list = NULL, init_list = NULL; /* Generate initialization statements for all members extant in the RHS. */ if (rhs) { /* Unshare the expression just in case this is from a decl's initial. */ rhs = unshare_expr (rhs); - result = generate_element_init (lhs_elt, rhs, &list); + result = generate_element_init (lhs_elt, rhs, &init_list); } /* CONSTRUCTOR is defined such that any member not mentioned is assigned a zero value. Initialize the rest of the instantiated elements. */ generate_element_zero (lhs_elt, &list); + append_to_statement_list (init_list, &list); if (!result) {