http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57075
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-26 11:25:38 UTC --- Ok, that's because printf is considered a possible caller of longjmp but inlining doesn't split the block before handling the return. We need to possibly split blocks dependent on stmt_ends_bb_p which depends on function context. Similar testcase can be constructed with non-local gotos, broken before r198192.