This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: DR#236 analysis
"Joseph S. Myers" <joseph@codesourcery.com> writes:
> An analysis of C99 DR#236 (type-based alias rules in the presence of
> unions) with a possible resolution with a note "Optimizers may have
> problems here" has been posted in the posted in the post-Redmond mailing
> <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1090.htm>; I'd suggest
> people trying to implement aliasing rules read it. Any comments about
> what resolutions make sense for optimizing real code would probably best
> go to the WG14 reflector (sc22wg14 at open-std.org) though I don't know to
> what extent non-member postings are accepted.
I prefer the n980 proposal instead, require a visible union. If it's
felt that's too unhelpful for optimisers, the alternative I'd suggest,
which I like but am not sure about incompatibility with existing code,
would be to say that pointers to (or inside) fields of a union become
invalid on a store to a different field (as would happen if the other
fields were free()ed). For malloc-ed memory, I strongly support the
idea that the first store should determine its type and the type can't
change after that.