except.c (expand_eh_return): Readd force_operand call lost in...
Jim Wilson
wilson@cygnus.com
Wed Nov 11 13:51:00 GMT 1998
This fixes a compiler abort that happens if you try to use an x86 compiler
to compile the __throw function in libgcc2.c with -O0 -fpic.
1998-11-10 Jim Wilson <wilson@cygnus.com>
* except.c (expand_eh_return): Readd force_operand call lost in
Sept 15 change.
Index: except.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/except.c,v
retrieving revision 1.68
diff -p -r1.68 except.c
*** except.c 1998/11/05 13:40:18 1.68
--- except.c 1998/11/11 01:49:23
*************** expand_eh_return ()
*** 2637,2643 ****
#ifdef RETURN_ADDR_OFFSET
tmp = plus_constant (tmp, -RETURN_ADDR_OFFSET);
#endif
! emit_move_insn (ra, tmp);
/* Indicate that the registers are in fact used. */
emit_insn (gen_rtx_USE (VOIDmode, reg1));
--- 2637,2645 ----
#ifdef RETURN_ADDR_OFFSET
tmp = plus_constant (tmp, -RETURN_ADDR_OFFSET);
#endif
! tmp = force_operand (tmp, ra);
! if (tmp != ra)
! emit_move_insn (ra, tmp);
/* Indicate that the registers are in fact used. */
emit_insn (gen_rtx_USE (VOIDmode, reg1));
More information about the Gcc-patches
mailing list