aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
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 b7d891e..52e70bd 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