Hi! I'll try to read it in more details later today, but one thing I've noticed:
On Thu, Dec 14, 2017 at 11:51:29PM -0200, Alexandre Oliva wrote: > @@ -5380,7 +5410,6 @@ verify_gimple_in_cfg (struct function *fn, bool > verify_nothrow) > err |= err2; > } > > - bool label_allowed = true; > for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi)) > { > gimple *stmt = gsi_stmt (gsi); > @@ -5397,19 +5426,6 @@ verify_gimple_in_cfg (struct function *fn, bool > verify_nothrow) > err2 = true; > } > > - /* Labels may be preceded only by debug markers, not debug bind > - or source bind or any other statements. */ > - if (gimple_code (stmt) == GIMPLE_LABEL) > - { > - if (!label_allowed) > - { > - error ("gimple label in the middle of a basic block"); > - err2 = true; > - } > - } > - else if (!gimple_debug_begin_stmt_p (stmt)) > - label_allowed = false; > - Please don't revert the above 2 hunks. Instead just remove the > - else if (!gimple_debug_begin_stmt_p (stmt)) > - label_allowed = false; lines only from it and adjust the comment. We want to verify there are no statements before labels. Jakub