strict aliasing: how to swap pointers
Andrew Haley
aph@redhat.com
Sat May 3 09:10:00 GMT 2008
Matthew Woehlke wrote:
> Andrew Haley wrote:
>> Consider an arch which has pointers to char (and void *) that are two
>> words
>> in size, and pointers to int that are one word in size. On such an arch
>> your exchange() function won't work, which is one reason why you need
>> a macro
>> to do it in Standard C.
>
> What platforms are there where sizeof(T*) != sizeof(void*) for some T?
I'm not sure: certainly nothing gcc supports, because gcc internally uses
Pmode for all pointers. DEC-10 possibly, maybe others. And of course, some
segmented architectures have pointers of different sizes.
Andrew.
More information about the Gcc-help
mailing list