From b403760c3eca837c4b54eab24062648672b4ea29 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Mon, 13 Dec 2010 03:08:24 +0000 Subject: [PATCH] re PR debug/46756 (-fcompare-debug failure (length) with ASSIGN) gcc/ChangeLog: PR debug/46576 * jump.c (mark_all_labels): Skip debug insns. gcc/testsuite/ChangeLog: PR debug/46576 * gfortran.dg/debug/pr46576.f: New. From-SVN: r167738 --- gcc/ChangeLog | 5 ++++ gcc/jump.c | 2 +- gcc/testsuite/ChangeLog | 5 ++++ gcc/testsuite/gfortran.dg/debug/pr46576.f | 29 +++++++++++++++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gfortran.dg/debug/pr46576.f diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 92397f12d877..e31fb702fdca 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-12-13 Alexandre Oliva + + PR debug/46576 + * jump.c (mark_all_labels): Skip debug insns. + 2010-12-13 Alexandre Oliva PR debug/46782 diff --git a/gcc/jump.c b/gcc/jump.c index b85326adeebc..9721fe19e9e3 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -193,7 +193,7 @@ mark_all_labels (rtx f) rtx prev_nonjump_insn = NULL; for (insn = f; insn; insn = NEXT_INSN (insn)) - if (INSN_P (insn)) + if (NONDEBUG_INSN_P (insn)) { mark_jump_label (PATTERN (insn), insn, 0); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 05a434134439..25dfba48bbce 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-12-13 Alexandre Oliva + + PR debug/46576 + * gfortran.dg/debug/pr46576.f: New. + 2010-12-13 Alexandre Oliva PR debug/46782 diff --git a/gcc/testsuite/gfortran.dg/debug/pr46576.f b/gcc/testsuite/gfortran.dg/debug/pr46576.f new file mode 100644 index 000000000000..58fb3011edbf --- /dev/null +++ b/gcc/testsuite/gfortran.dg/debug/pr46576.f @@ -0,0 +1,29 @@ +C PR debug/46576, reduced from ../20010519-1.f +C { dg-do compile } +C { dg-options "-O -fcompare-debug" } + LOGICAL QDISK,QDW,QCMPCT + LOGICAL LNOMA,LRAISE,LSCI,LBIG + ASSIGN 801 TO I800 ! { dg-warning "Deleted feature: ASSIGN" "Deleted feature: ASSIGN" } + GOTO 800 + 801 CONTINUE + ASSIGN 761 TO I760 ! { dg-warning "Deleted feature: ASSIGN" "Deleted feature: ASSIGN" } + 761 CONTINUE + IF(LSCI) THEN + DO I=1,LENCM + ENDDO + ENDIF + DO WHILE((CVGMX.GT.TOLDIM).AND.(ITER.LT.ITMX)) + IF(.NOT.QDW) THEN + ASSIGN 641 to I640 ! { dg-warning "Deleted feature: ASSIGN" "Deleted feature: ASSIGN" } + GOTO 640 + 641 CONTINUE + ENDIF + ENDDO + GOTO 700 + 640 CONTINUE + GOTO I640 ! { dg-warning "Deleted feature: Assigned" "Assigned GO TO" } + 700 CONTINUE + GOTO I760 ! { dg-warning "Deleted feature: Assigned" "Assigned GO TO" } + 800 CONTINUE + GOTO I800 ! { dg-warning "Deleted feature: Assigned" "Assigned GO TO" } + END