http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53701
--- Comment #7 from Andrey Belevantsev <abel at gcc dot gnu.org> 2012-08-08 11:26:01 UTC --- Created attachment 27959 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27959 proposed patch The problem is that when checking expressions that are blocked for movement because of recently created bookkeeping code we need to consider also all old forms of those expressions as they could get transformed on the way up. PR53975 just uncovers this bug but is actually unrelated. The attached patch fixes the testcase but is not yet otherwise tested.