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/except.c | |
parent | 07f4da33bba1e6a82c6020bd45f2ba19bef8faa7 (diff) | |
download | gcc-9fb3709ed6cd4488ce419c61e217ff6fa12fd0e1.tar.gz |
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/except.c')
-rw-r--r-- | gcc/except.c | 4 |
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)); |