https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106870
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- gcc.dg/torture/pr57036-2.c shows how inlining and non-local gotos come into play here. Note the flag was specifically invented to not make CFG verification ICE when a function in the middle of a block becomes noreturn, for example via IPA analysis. It wasn't necessarily required to have the flag set on stmts ending a BB. Still not having the flag set prevents nothing to put stmts after such call and we'd not complain. gcc.dg/torture/pr83055.c shows how the checking is confused as called from gimple_flow_call_edges_add after adding loads of fake edges.