From d96a6d1a1c6c53816eef51a447c3e4899dd24df6 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Sat, 11 Nov 2000 19:11:47 -0500 Subject: function.c (assign_parms): If TREE_ADDRESSABLE is set... * function.c (assign_parms): If TREE_ADDRESSABLE is set, try to give the parm a register and then call put_var_into_stack. * stmt.c (expand_decl): Likewise. cp/ * typeck.c (mark_addressable): Don't call put_var_into_stack. From-SVN: r37396 --- gcc/function.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'gcc/function.c') diff --git a/gcc/function.c b/gcc/function.c index 98184ef..ece43d3 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -4610,8 +4610,6 @@ assign_parms (fndecl) else if (! ((! optimize && ! DECL_REGISTER (parm) && ! DECL_INLINE (fndecl)) - /* layout_decl may set this. */ - || TREE_ADDRESSABLE (parm) || TREE_SIDE_EFFECTS (parm) /* If -ffloat-store specified, don't put explicit float variables into registers. */ @@ -4695,8 +4693,6 @@ assign_parms (fndecl) && ! ((! optimize && ! DECL_REGISTER (parm) && ! DECL_INLINE (fndecl)) - /* layout_decl may set this. */ - || TREE_ADDRESSABLE (parm) || TREE_SIDE_EFFECTS (parm) /* If -ffloat-store specified, don't put explicit float variables into registers. */ @@ -4865,6 +4861,9 @@ assign_parms (fndecl) mark_reg_pointer (parmreg, TYPE_ALIGN (TREE_TYPE (TREE_TYPE (parm)))); + /* If something wants our address, try to use ADDRESSOF. */ + if (TREE_ADDRESSABLE (parm)) + put_var_into_stack (parm); } else { -- cgit v1.1