aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 efb69f3..7685e77 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jul 26 18:51:34 1999 Richard Henderson <rth@cygnus.com>
+
+ * except.c (start_dynamic_cleanup): Use force_operand on the
+ buffer's address.
+
Mon Jul 26 16:43:26 1999 Richard Henderson <rth@cygnus.com>
* c4x.h (EXPAND_BUILTIN_VA_ARG): New.
diff --git a/gcc/except.c b/gcc/except.c
index f7d78d6..90069a8 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -1309,7 +1309,9 @@ start_dynamic_cleanup (func, arg)
/* Update the cleanup chain. */
- emit_move_insn (dcc, XEXP (buf, 0));
+ x = force_operand (XEXP (buf, 0), dcc);
+ if (x != dcc)
+ emit_move_insn (dcc, x);
}
/* Emit RTL to start a dynamic handler on the EH runtime dynamic