summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-04-17 21:40:18 +0000
committerRichard Stallman <rms@gnu.org>1992-04-17 21:40:18 +0000
commit2e1dbf228dab2af6b51f8bd87a5e811b20059e58 (patch)
tree87e89e0af267973d9fab4560fc78414cf767f7d2 /gcc
parenta4bde0b117fa3575f34d259e5b62e577fe64ce83 (diff)
downloadgcc-2e1dbf228dab2af6b51f8bd87a5e811b20059e58.tar.gz
*** empty log message ***
From-SVN: r765
Diffstat (limited to 'gcc')
-rw-r--r--gcc/jump.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 410fe64a268..a8b0b627684 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -2948,11 +2948,15 @@ delete_insn (insn)
while (next != 0
&& ((code = GET_CODE (next)) == INSN
|| code == JUMP_INSN || code == CALL_INSN
- || code == NOTE))
+ || code == NOTE
+ || (code == CODE_LABEL && INSN_DELETED_P (next))))
{
if (code == NOTE
&& NOTE_LINE_NUMBER (next) != NOTE_INSN_FUNCTION_END)
next = NEXT_INSN (next);
+ /* Keep going past other deleted labels to delete what follows. */
+ else if (code == CODE_LABEL && INSN_DELETED_P (next))
+ next = NEXT_INSN (next);
else
/* Note: if this deletes a jump, it can cause more
deletion of unreachable code, after a different label.