http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57359
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- > int *k = &u.i; **ppll = ll; *k = 0; You are violating Aliasing rules still even though u is an union.