aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-10-01 20:34:45 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-10-01 20:34:45 -0400
commitba21328576034c3ed1fdd42a6719c74376d90ea3 (patch)
tree1fb3c8ccc506bb8b5dde5452aaf15e3e31de6588
parent640667cb69b9ddb0a7e2945fcf082bedfd4c6201 (diff)
downloadgcc-ba21328576034c3ed1fdd42a6719c74376d90ea3.zip
gcc-ba21328576034c3ed1fdd42a6719c74376d90ea3.tar.gz
gcc-ba21328576034c3ed1fdd42a6719c74376d90ea3.tar.bz2
(add_insn_{before,after}): Abort if insertion point is a deleted insn.
From-SVN: r8193
-rw-r--r--gcc/emit-rtl.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 8a00d6b..490598c 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -2132,7 +2132,7 @@ add_insn (insn)
/* Add INSN into the doubly-linked list after insn AFTER. This and
the next should be the only functions called to insert an insn once
- delay slots have been filled since only they knows how to update a
+ delay slots have been filled since only they know how to update a
SEQUENCE. */
void
@@ -2141,6 +2141,9 @@ add_insn_after (insn, after)
{
rtx next = NEXT_INSN (after);
+ if (INSN_DELETED_P (after))
+ abort ();
+
NEXT_INSN (insn) = next;
PREV_INSN (insn) = after;
@@ -2174,7 +2177,7 @@ add_insn_after (insn, after)
/* Add INSN into the doubly-linked list before insn BEFORE. This and
the previous should be the only functions called to insert an insn once
- delay slots have been filled since only they knows how to update a
+ delay slots have been filled since only they know how to update a
SEQUENCE. */
void
@@ -2183,6 +2186,9 @@ add_insn_before (insn, before)
{
rtx prev = PREV_INSN (before);
+ if (INSN_DELETED_P (before))
+ abort ();
+
PREV_INSN (insn) = prev;
NEXT_INSN (insn) = before;