http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48087
--- Comment #14 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-10-19 15:39:08 UTC --- Thanks for explaining the seen_error mechanism, which I didn't know, but there is something I still don't understand here. Consider PR49508 (I'm interested because I opened it ;) : in that case we have only real errors, and then a bugus warning. I don't see how fiddling with something at beginning of gimple_push_cleanup could deal with such cases, and indeed if I hack it to remove the early return, the warning triggers exactly in the same way. Or maybe all this just indicated that PR49508 really is a different issue, but I'm not convinced...