diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfgloop.c | 9 |
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); |