http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57359
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jsm28 at gcc dot gnu.org --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I guess then the important question is what is supposed to be the effective type of the object inside the union (ISO C99, 6.5/6), if it isn't the union, but one of the types, then the testcase would be still invalid, because then one or the other of the stores would be through non-allowed type (6.5/7). If that wasn't invalid, it would be a loop-hole in TBAA disambiguation (because then two stores through pointers with non-conflicting alias set couldn't be just because of this considered non-aliasing.