This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]