diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/stmt.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5722811..3f605a7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-12-04 Andrew MacLeod <amacleod@redhat.com> + + * stmt.c (expand_return): Clear destination instead of clobbering it + when setting a return value via bitsets. + 2001-12-04 Alexandre Oliva <aoliva@redhat.com> * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if @@ -3233,8 +3233,8 @@ expand_return (retval) dst = gen_reg_rtx (word_mode); result_pseudos[xbitpos / BITS_PER_WORD] = dst; - /* Clobber the destination before we move anything into it. */ - emit_insn (gen_rtx_CLOBBER (VOIDmode, dst)); + /* Clear the destination before we move anything into it. */ + emit_move_insn (dst, CONST0_RTX (GET_MODE (dst))); } /* We need a new source operand each time bitpos is on a word |