summaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-03 15:21:15 +0000
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-03 15:21:15 +0000
commit9cb3832d7bed353cb522ffd3e74b1962cb91789a (patch)
tree93fded5899e717286d00db6895ac18a4548de59a /gcc/gimplify.c
parent66ce73bb55dab159307d90894e7d31ad040e7c6f (diff)
downloadgcc-9cb3832d7bed353cb522ffd3e74b1962cb91789a.tar.gz
2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24589 * gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the expressions to a statement list instead of gimplifying them. 2005-11-03 Andrew Pinski <pinskia@physics.uc.edu> PR middle-end/24589 * gcc.c-torture/execute/zero-struct-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106436 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index b7d891e041e..52e70bdad5e 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -4312,18 +4312,19 @@ gimplify_expr (tree *expr_p, tree *pre_p, tree *post_p,
{
unsigned HOST_WIDE_INT ix;
constructor_elt *ce;
+ tree temp = NULL_TREE;
for (ix = 0;
VEC_iterate (constructor_elt, CONSTRUCTOR_ELTS (*expr_p),
ix, ce);
ix++)
if (TREE_SIDE_EFFECTS (ce->value))
- gimplify_expr (&ce->value, pre_p, post_p,
- gimple_test_f, fallback);
+ append_to_statement_list (ce->value, &temp);
- *expr_p = NULL_TREE;
+ *expr_p = temp;
+ ret = GS_OK;
}
-
- ret = GS_ALL_DONE;
+ else
+ ret = GS_ALL_DONE;
break;
/* The following are special cases that are not handled by the