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?

Reply via email to