aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-03-01 15:43:32 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-03-01 15:43:32 +0000
commitf0c10f0fabb9b9559f9eeee4a8d1ec663df89aa1 (patch)
treeec7b5e5133cc5058bafc78e59e9c85067a0a0e28 /gcc/gimplify.c
parentc40b54006825ba8fe4e0f3aa9a60a260288e327f (diff)
downloadgcc-f0c10f0fabb9b9559f9eeee4a8d1ec663df89aa1.zip
gcc-f0c10f0fabb9b9559f9eeee4a8d1ec663df89aa1.tar.gz
gcc-f0c10f0fabb9b9559f9eeee4a8d1ec663df89aa1.tar.bz2
re PR middle-end/41250 (hppa has DECL_VALUE_EXPR decls appearing in the function)
2010-03-01 Richard Guenther <rguenther@suse.de> Martin Jambor <mjambor@suse.cz> PR middle-end/41250 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on gimplified parameters. Co-Authored-By: Martin Jambor <mjambor@suse.cz> From-SVN: r157148
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 1838747..f87b5b5 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -7535,11 +7535,21 @@ gimplify_body (tree *body_p, tree fndecl, bool do_parms)
*body_p = NULL_TREE;
/* If we had callee-copies statements, insert them at the beginning
- of the function. */
+ of the function and clear DECL_VALUE_EXPR_P on the parameters. */
if (!gimple_seq_empty_p (parm_stmts))
{
+ tree parm;
+
gimplify_seq_add_seq (&parm_stmts, gimple_bind_body (outer_bind));
gimple_bind_set_body (outer_bind, parm_stmts);
+
+ for (parm = DECL_ARGUMENTS (current_function_decl);
+ parm; parm = TREE_CHAIN (parm))
+ if (DECL_HAS_VALUE_EXPR_P (parm))
+ {
+ DECL_HAS_VALUE_EXPR_P (parm) = 0;
+ DECL_IGNORED_P (parm) = 0;
+ }
}
if (nonlocal_vlas)