Created attachment 23497 [details]
This seems to be different from bug 47924.
Confirmed. This one happens because we merge struct S and struct T for
TBAA purposes (they get the same TYPE_CANONICAL).
This is by design to allow cross-language (and slightly invalid) code to
not fall over TBAA issues too easily.
IMHO WONTFIX. Eventually we could add a -fvery-strict-aliasing, but it's
probably not worth it.
Leaving open to eventually document this fact somewhere.
But downgrading priority.
GCC 4.6.0 is being released, adjusting target milestone.
GCC 4.6.1 is being released.
It seems to work in 4.7.
GCC 4.6.2 is being released.
GCC 4.6.3 is being released.
I can't reproduce it with GCC 4.7.3 and 4.8.0.
The 4.6 branch has been closed, fixed in GCC 4.7.0.