From efd8cba0c8e7e78328f9fd4fc59c0f5910ea7cd8 Mon Sep 17 00:00:00 2001 From: Dave Brolley Date: Wed, 20 Jan 1999 15:26:31 +0000 Subject: [PATCH] function.c (assign_parms): Save and restore setting of TREE_USED (parm). Wed Jan 20 18:15:08 1999 Dave Brolley * function.c (assign_parms): Save and restore setting of TREE_USED (parm). From-SVN: r24789 --- gcc/ChangeLog | 5 +++++ gcc/function.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1c51e75e761..45889f23e07 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Jan 20 18:15:08 1999 Dave Brolley + + * function.c (assign_parms): Save and restore setting of + TREE_USED (parm). + Wed Jan 20 12:51:42 1999 Mark Mitchell * arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout. diff --git a/gcc/function.c b/gcc/function.c index 8a67457495b..1cb8c44bbcd 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -4378,6 +4378,7 @@ assign_parms (fndecl, second_time) if (nominal_mode != passed_mode || promoted_nominal_mode != promoted_mode) { + int save_tree_used; /* ENTRY_PARM has been converted to PROMOTED_MODE, its mode, by the caller. We now have to convert it to NOMINAL_MODE, if different. However, PARMREG may be in @@ -4404,8 +4405,11 @@ assign_parms (fndecl, second_time) push_to_sequence (conversion_insns); tempreg = convert_to_mode (nominal_mode, tempreg, unsignedp); + /* TREE_USED gets set erroneously during expand_assignment. */ + save_tree_used = TREE_USED (parm); expand_assignment (parm, make_tree (nominal_type, tempreg), 0, 0); + TREE_USED (parm) = save_tree_used; conversion_insns = get_insns (); did_conversion = 1; end_sequence (); -- 2.30.2