This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: strict aliasing question
On Sat, 2006-11-11 at 22:18 -0800, Ian Lance Taylor wrote:
>
> Your code will be safe on all counts if you change buf from int[] to
> char[]. The language standard grants a special exemption to char*
> pointers. Without that exemption, it would be impossible to write
> malloc in C.
Actually it is not that what the C standard allows. What the C standard
says is accesses via the character type is always valid and the normal
type (and signed/unsigned version of both the normal and character
type). This means accessing an element of the character array via any
other type except via an unsigned/signed character type is undefined.
Thanks,
Andrew Pinski