http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53356
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-05-30 06:47:13 UTC --- Created attachment 27524 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27524 gcc48-pr53356.patch Untested fix. As the TARGET_EXPR for which the gimplifier wants to add a clobber as cleanup is within an artificial TRY_CATCH_EXPR and only that is inside CLEANUP_POINT_EXPR, WCE gimplification doesn't see it in the body sequence (it doesn't recurse into nested sequences). Alternatively we could temporarily clear gimplify_ctxp->in_cleanup_point_expr while gimplifying TRY_CATCH_EXPR's operands and restore it afterwards (or we could do that in addition to this, as with only clearing the flag we would end up unnecessarily without the clobber stmt). Jason, what do you think?