summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1998-11-11 13:48:34 +0000
committerJim Wilson <wilson@gcc.gnu.org>1998-11-11 05:48:34 -0800
commit2a55b8e817a0cab33db7b55492a17d6e60082f78 (patch)
tree30c56a07f1e568a39508d81091c29573ea010fed /gcc/except.c
parente97e526319f2be937713348635bcafda87a19298 (diff)
downloadgcc-2a55b8e817a0cab33db7b55492a17d6e60082f78.tar.gz
Fix x86 __throw -O0 -fpic compiler abort.
* except.c (expand_eh_return): Readd force_operand call lost in Sept 15 change. From-SVN: r23606
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/except.c b/gcc/except.c
index 6fa37f09718..ae6ede2f112 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -2637,7 +2637,9 @@ expand_eh_return ()
#ifdef RETURN_ADDR_OFFSET
tmp = plus_constant (tmp, -RETURN_ADDR_OFFSET);
#endif
- emit_move_insn (ra, tmp);
+ 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));