aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cfgloop.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5175c84..9cf0e2f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-02-08 Marek Polacek <polacek@redhat.com>
+
+ * cfgloop.c (verify_loop_structure): Add more checking
+ of headers.
+
2013-02-08 Richard Biener <rguenther@suse.de>
PR middle-end/56181
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c
index 60fc6e8..3619907 100644
--- a/gcc/cfgloop.c
+++ b/gcc/cfgloop.c
@@ -1353,6 +1353,15 @@ verify_loop_structure (void)
}
}
+ /* Check the headers. */
+ FOR_EACH_BB (bb)
+ if (bb_loop_header_p (bb)
+ && bb->loop_father->header != bb)
+ {
+ error ("loop with header %d not in loop tree", bb->index);
+ err = 1;
+ }
+
/* Check get_loop_body. */
visited = sbitmap_alloc (last_basic_block);
bitmap_clear (visited);