aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-11-02 14:00:39 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-11-02 14:00:39 +0100
commitf6f2ca8f9266d155463d294dc8b650880e400a93 (patch)
tree729b4594bd677ce409b5a0e98465644e1881fea0
parent574e2ba2eec1097f3decd0ade984097e425a4d7f (diff)
downloadgcc-f6f2ca8f9266d155463d294dc8b650880e400a93.zip
gcc-f6f2ca8f9266d155463d294dc8b650880e400a93.tar.gz
gcc-f6f2ca8f9266d155463d294dc8b650880e400a93.tar.bz2
re PR debug/46255 (-fcompare-debug failure with -fprofile-generate)
PR debug/46255 * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb instead of gsi_last_bb. * gcc.dg/pr46255.c: New test. From-SVN: r166182
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr46255.c12
-rw-r--r--gcc/tree-cfg.c4
4 files changed, 25 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 18df572..f46c18f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-11-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46255
+ * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
+ instead of gsi_last_bb.
+
2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9e65775..cfa980d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-11-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46255
+ * gcc.dg/pr46255.c: New test.
+
2010-11-02 Dodji Seketeli <dodji@redhat.com>
PR c++/46170
diff --git a/gcc/testsuite/gcc.dg/pr46255.c b/gcc/testsuite/gcc.dg/pr46255.c
new file mode 100644
index 0000000..e3c9fa7
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr46255.c
@@ -0,0 +1,12 @@
+/* PR debug/46255 */
+/* { dg-do compile } */
+/* { dg-options "-fcompare-debug -fprofile-generate -O" } */
+
+int bar (void);
+
+void
+foo (int i)
+{
+ while (i)
+ i = bar ();
+}
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index bffa679..e31a50d 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -6749,7 +6749,7 @@ gimple_flow_call_edges_add (sbitmap blocks)
if (check_last_block)
{
basic_block bb = EXIT_BLOCK_PTR->prev_bb;
- gimple_stmt_iterator gsi = gsi_last_bb (bb);
+ gimple_stmt_iterator gsi = gsi_last_nondebug_bb (bb);
gimple t = NULL;
if (!gsi_end_p (gsi))
@@ -6783,7 +6783,7 @@ gimple_flow_call_edges_add (sbitmap blocks)
if (blocks && !TEST_BIT (blocks, i))
continue;
- gsi = gsi_last_bb (bb);
+ gsi = gsi_last_nondebug_bb (bb);
if (!gsi_end_p (gsi))
{
last_stmt = gsi_stmt (gsi);