summaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1997-11-18 23:42:00 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1997-11-18 23:42:00 +0000
commitf62ccc666581d738d987f996912b13333ada85db (patch)
tree454e6222091b9bea566c62aecbbc717b0fe950be /gcc/dwarf2out.c
parenta504aabfa69478577525504a066c5bfdf32854e3 (diff)
downloadgcc-f62ccc666581d738d987f996912b13333ada85db.tar.gz
Fix gcc2 irix5 c-torture failures, EH/large frame errors
* mips/mips.c (save_restore_insns): If gp_offset or fp_offset are large_int, emit two insns instead of one splitable insn. * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset from cfa_temp_value, use cfa_offset. Add assert checking that cfa_reg is SP. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16573 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index dbb0049075d..db472755bb2 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -1194,8 +1194,10 @@ dwarf2out_frame_debug (insn)
if (GET_CODE (XEXP (src, 0)) != REG
|| REGNO (XEXP (src, 0)) != cfa_temp_reg)
abort ();
+ if (cfa_reg != STACK_POINTER_REGNUM)
+ abort ();
cfa_store_reg = REGNO (dest);
- cfa_store_offset -= cfa_temp_value;
+ cfa_store_offset = cfa_offset - cfa_temp_value;
}
break;