summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-13 03:08:24 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-13 03:08:24 +0000
commitbf9c216dde308b6765eab585a549085bf08e8b1c (patch)
treebedc79750a5dfd1676920e86ed6195e8b6279622
parent4fba89764bca5c7f0da19db35d9da859f233210c (diff)
downloadgcc-bf9c216dde308b6765eab585a549085bf08e8b1c.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167738 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/jump.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/debug/pr46576.f29
4 files changed, 40 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 92397f12d87..e31fb702fdc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2010-12-13 Alexandre Oliva <aoliva@redhat.com>
+ PR debug/46576
+ * jump.c (mark_all_labels): Skip debug insns.
+
+2010-12-13 Alexandre Oliva <aoliva@redhat.com>
+
PR debug/46782
* cfgcleanup.c (try_forward_edges): Skip debug insns.
diff --git a/gcc/jump.c b/gcc/jump.c
index b85326adeeb..9721fe19e9e 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 05a43413443..25dfba48bbc 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2010-12-13 Alexandre Oliva <aoliva@redhat.com>
+ PR debug/46576
+ * gfortran.dg/debug/pr46576.f: New.
+
+2010-12-13 Alexandre Oliva <aoliva@redhat.com>
+
PR debug/46782
* gcc.dg/debug/pr46782.c: New.
diff --git a/gcc/testsuite/gfortran.dg/debug/pr46576.f b/gcc/testsuite/gfortran.dg/debug/pr46576.f
new file mode 100644
index 00000000000..58fb3011edb
--- /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