https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82904
--- Comment #15 from Richard Biener <rguenth at gcc dot gnu.org> --- The issue isn't fixed I think but we now have _F.y = 0; D.4364 = (bitsizetype) (sizetype) NON_LVALUE_EXPR <_F.y> * 8; D.4365 = (sizetype) NON_LVALUE_EXPR <_F.y>; { and that _F mention on the LHS might "save" you (aka you are lucky).