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: [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


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