Simon Thum wrote: > Tomas Carnecky wrote: >> By first casting to long and then to the final type. Of course >> this assumes that sizeof(long) == sizeof(void *). If the Win32
Forgive my stupidity, but isn't it a C language rule that sizeof(long) == sizeof(void *) is always true? This of course may have special handling inside the kernel as one may be using a 32 bit cpu with more then 4GB of RAM, or just file offsets... In Xorg, afaik this is only an issue for physical addresses, but I don't know if there may be problems when mapping a "physical address" above 4GB to a 32 bits virtual address. > On this page: > http://www.viva64.com/content/articles/64-bit-development/?f=20_issues_of_porting_C++_code_on_the_64-bit_platform.html&lang=en&content=64-bit-development#IDALZBTD It appears to be only showing that when sizeof(int) != sizeof(long) you may have trouble addressing arrays larger then 4GB :-) > they explain that indeed there are memory models where this doesn't hold. > > +1 for uintptr_t > >> folks care enough about warnings, we could make macros for this. Paulo _______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg