diff options
author | Richard Guenther <rguenther@suse.de> | 2010-03-01 15:43:32 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-03-01 15:43:32 +0000 |
commit | f0c10f0fabb9b9559f9eeee4a8d1ec663df89aa1 (patch) | |
tree | ec7b5e5133cc5058bafc78e59e9c85067a0a0e28 /gcc | |
parent | c40b54006825ba8fe4e0f3aa9a60a260288e327f (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/gimplify.c | 12 |
2 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a70aceb..70fa628 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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. + 2010-03-01 Christian Bruel <christian.bruel@st.com> * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P. 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) |