summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1998-11-11 13:48:34 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1998-11-11 13:48:34 +0000
commit9fb3709ed6cd4488ce419c61e217ff6fa12fd0e1 (patch)
tree30c56a07f1e568a39508d81091c29573ea010fed /gcc
parent07f4da33bba1e6a82c6020bd45f2ba19bef8faa7 (diff)
downloadppe42-gcc-9fb3709ed6cd4488ce419c61e217ff6fa12fd0e1.tar.gz
ppe42-gcc-9fb3709ed6cd4488ce419c61e217ff6fa12fd0e1.zip
Fix x86 __throw -O0 -fpic compiler abort.
* except.c (expand_eh_return): Readd force_operand call lost in Sept 15 change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23606 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/except.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a5ea2529c3f..e931c1acb08 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Wed Nov 11 13:46:13 1998 Jim Wilson <wilson@cygnus.com>
+
+ * except.c (expand_eh_return): Readd force_operand call lost in
+ Sept 15 change.
+
Tue Nov 10 17:04:11 1998 David Edelsohn <edelsohn@mhpcc.edu>
* rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
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));
OpenPOWER on IntegriCloud