diff options
| author | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-11-11 13:48:34 +0000 |
|---|---|---|
| committer | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-11-11 13:48:34 +0000 |
| commit | 9fb3709ed6cd4488ce419c61e217ff6fa12fd0e1 (patch) | |
| tree | 30c56a07f1e568a39508d81091c29573ea010fed /gcc | |
| parent | 07f4da33bba1e6a82c6020bd45f2ba19bef8faa7 (diff) | |
| download | ppe42-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/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/except.c | 4 |
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)); |

