diff options
author | zlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-02-10 18:38:19 +0000 |
---|---|---|
committer | zlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-02-10 18:38:19 +0000 |
commit | ebfc27f545a376f9928d285ec570eecec5d18c63 (patch) | |
tree | 8c381fb07eefd127e201f05bbc881c960cd8ca97 /gcc/function.c | |
parent | c796cff1e550e38db24d6716f678a6bd44e80487 (diff) | |
download | gcc-ebfc27f545a376f9928d285ec570eecec5d18c63.tar.gz |
PR/14058
* emit-rtl.c (set_decl_incoming_rtl): New.
* tree.h (set_decl_incoming_rtl): New.
* function.c (assign_parms): Use set_decl_incoming_rtl for setting
DECL_INCOMING_RTL.
* ada/misc.c (adjust_decl_rtl): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77611 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/gcc/function.c b/gcc/function.c index 6596e0e3839..e2024f2b26c 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -4645,7 +4645,7 @@ assign_parms (tree fndecl) entry_parm = stack_parm; /* Record permanently how this parm was passed. */ - DECL_INCOMING_RTL (parm) = entry_parm; + set_decl_incoming_rtl (parm, entry_parm); /* If there is actually space on the stack for this parm, count it in stack_args_size; otherwise set stack_parm to 0 @@ -4714,7 +4714,7 @@ assign_parms (tree fndecl) && INTVAL (XEXP (XVECEXP (entry_parm, 0, i), 1)) == 0) { entry_parm = XEXP (XVECEXP (entry_parm, 0, i), 0); - DECL_INCOMING_RTL (parm) = entry_parm; + set_decl_incoming_rtl (parm, entry_parm); break; } } @@ -5225,20 +5225,22 @@ assign_parms (tree fndecl) { if (TREE_CODE (TREE_TYPE (parm)) == COMPLEX_TYPE) { + rtx tmp; + SET_DECL_RTL (parm, gen_rtx_CONCAT (DECL_MODE (parm), DECL_RTL (fnargs), DECL_RTL (TREE_CHAIN (fnargs)))); - DECL_INCOMING_RTL (parm) - = gen_rtx_CONCAT (DECL_MODE (parm), - DECL_INCOMING_RTL (fnargs), - DECL_INCOMING_RTL (TREE_CHAIN (fnargs))); + tmp = gen_rtx_CONCAT (DECL_MODE (parm), + DECL_INCOMING_RTL (fnargs), + DECL_INCOMING_RTL (TREE_CHAIN (fnargs))); + set_decl_incoming_rtl (parm, tmp); fnargs = TREE_CHAIN (fnargs); } else { SET_DECL_RTL (parm, DECL_RTL (fnargs)); - DECL_INCOMING_RTL (parm) = DECL_INCOMING_RTL (fnargs); + set_decl_incoming_rtl (parm, DECL_INCOMING_RTL (fnargs)); } fnargs = TREE_CHAIN (fnargs); } |