aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-10-26 21:55:22 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-10-26 21:55:22 -0400
commit926b1b9906b3671ccc2f31576c0c48c5bf011d23 (patch)
treef21600c0eb2afd6337d0d9fbcd11985877c5741d /gcc
parent67038661e20142907b21ab1b419c7a6ac54c6045 (diff)
downloadgcc-926b1b9906b3671ccc2f31576c0c48c5bf011d23.zip
gcc-926b1b9906b3671ccc2f31576c0c48c5bf011d23.tar.gz
gcc-926b1b9906b3671ccc2f31576c0c48c5bf011d23.tar.bz2
(assign_parms): Don't trust the callee to copy a TREE_ADDRESSABLE
type. From-SVN: r10527
Diffstat (limited to 'gcc')
-rw-r--r--gcc/function.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 8b7e827..25a4911 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -3708,7 +3708,8 @@ assign_parms (fndecl, second_time)
&& FUNCTION_ARG_CALLEE_COPIES (args_so_far,
TYPE_MODE (DECL_ARG_TYPE (parm)),
DECL_ARG_TYPE (parm),
- ! last_named))
+ ! last_named)
+ && ! TREE_ADDRESSABLE (DECL_ARG_TYPE (parm)))
{
rtx copy;
tree type = DECL_ARG_TYPE (parm);