tiemann@arkesden.eng.sun.com (Michael Tiemann) (12/04/89)
Here's a fix:
arkesden% diff -c2 expr.c~ expr.c
*** expr.c~ Mon Nov 27 17:37:43 1989
--- expr.c Mon Dec 4 05:26:56 1989
***************
*** 3504,3508 ****
save them now. */
emit_insns (saving_insns = save_from_saveregs);
! last_saving_insn = get_last_insn ();
/* Now really call the function. `expand_call' does not call
--- 3504,3512 ----
save them now. */
emit_insns (saving_insns = save_from_saveregs);
! if (saving_insns)
! {
! emit_note (0, -1);
! last_saving_insn = get_last_insn ();
! }
/* Now really call the function. `expand_call' does not call
***************
*** 3510,3513 ****
--- 3514,3518 ----
here. */
temp = expand_call (exp, target, ignore);
+
if (saving_insns)
{
***************
*** 3517,3520 ****
--- 3522,3526 ----
if (GET_CODE (saving_insns) == INSN)
note_stores (PATTERN (saving_insns), use_variable);
+ saving_insns = NEXT_INSN (saving_insns);
} while (saving_insns != last_saving_insn);
}
arkesden%
Michael