This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Computed gotos
"Zack Weinberg" <zack@codesourcery.com> writes:
> Jamie Lokier <jamie@shareable.org> writes:
>
>> Jamie Lokier wrote:
>>> > Do all GCC ports provide uintptr_t? Nice loophole, btw.
>>>
>>> No, but they all support "long" or "long long" which works in practice.
>>
>> Sorry, I probably meant "yes", as in one of these two is a suitable
>> definition of uintptr_t on all GCC targets AFAIK:
>>
>> typedef unsigned long uintptr_t;
>> typedef unsigned long long uintptr_t;
>
> If the first one isn't a suitable definition of uintptr_t for some
> target, the ABI is broken. (I know C99 allows
> sizeof(long) < sizeof(void *). C99 is wrong.)
64-bit MS Windows uses AFAIK a P64 model where the long is 32-bit and
pointers are 64-bit - I agree the ABI is broken indeed,
Andreas
--
Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
SuSE Linux AG, Deutschherrnstr. 15-19, 90429 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126