aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2006-10-28 00:47:47 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2006-10-27 22:47:47 +0000
commit2e929cf3b29165076c9ed3d83aed1f4d641cab36 (patch)
treed5a9c18533ff3873d00dd0addf661c1122cbcce5 /gcc/gimplify.c
parentcfe1b18f45699de86d625e28ccb4725a46eaae4e (diff)
downloadgcc-2e929cf3b29165076c9ed3d83aed1f4d641cab36.zip
gcc-2e929cf3b29165076c9ed3d83aed1f4d641cab36.tar.gz
gcc-2e929cf3b29165076c9ed3d83aed1f4d641cab36.tar.bz2
builtins.c (fold_builtin): Don't generate NOP_EXPR that is going to be thrown away soon when IGNORE is set.
* builtins.c (fold_builtin): Don't generate NOP_EXPR that is going to be thrown away soon when IGNORE is set. * tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument indicating when return value shall not be computed. * gimplify.c (internal_get_tmp_var): Avoid random tree sharing. From-SVN: r118091
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 41486f1..fedc284 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -609,7 +609,7 @@ internal_get_tmp_var (tree val, tree *pre_p, tree *post_p, bool is_formal)
if (TREE_CODE (TREE_TYPE (t)) == COMPLEX_TYPE)
DECL_COMPLEX_GIMPLE_REG_P (t) = 1;
- mod = build2 (INIT_EXPR, TREE_TYPE (t), t, val);
+ mod = build2 (INIT_EXPR, TREE_TYPE (t), t, unshare_expr (val));
if (EXPR_HAS_LOCATION (val))
SET_EXPR_LOCUS (mod, EXPR_LOCUS (val));