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.