summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/optabs.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e348a88b197..accca6f25ac 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-04-26 David S. Miller <davem@redhat.com>
+
+ * optabs.c (emit_libcall_block): Verify insns with INSN_P before
+ taking a PATTERN of it.
+
2000-04-26 <NeilB@earthling.net>
* cpplex.c (spell_other, spell_char): Remove.
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 304eb7400d2..2004f6afd0f 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -2789,7 +2789,8 @@ emit_libcall_block (insns, target, result, equiv)
if (set != 0 && GET_CODE (SET_DEST (set)) == REG
&& REGNO (SET_DEST (set)) >= FIRST_PSEUDO_REGISTER
&& (insn == insns
- || (! reg_mentioned_p (SET_DEST (set), PATTERN (insns))
+ || ((! INSN_P(insns)
+ || ! reg_mentioned_p (SET_DEST (set), PATTERN (insns)))
&& ! reg_used_between_p (SET_DEST (set), insns, insn)
&& ! modified_in_p (SET_SRC (set), insns)
&& ! modified_between_p (SET_SRC (set), insns, insn))))
OpenPOWER on IntegriCloud