lightning
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lightning] WORDSIZE detection with GCC 4.2


From: Vitaly Magerya
Subject: Re: [Lightning] WORDSIZE detection with GCC 4.2
Date: Mon, 02 Sep 2013 21:42:13 +0300
User-agent: Thunderbird

On 09/02/2013 21:09, Paulo César Pereira de Andrade wrote:
>> Comparing SIZE_T_MAX from limits.h with 0xffffffffU maybe? There's also
>> UINTPTR_MAX in stdint.h, which looks more appropriate (if relying on
>> presence of stdint.h is something you're willing to accept).
> 
>   It already includes stdint.h since 2012-12-02 and that did work on
> all tested platforms so far.

Hey, I completely missed that. May I ask why you don't use intXX_t for
jit_intXX_t then?

>> What you ultimately want is a way to tell between ILP32, LP64 and fail
>> on everything else. Just testing for SIZE_T_MAX doesn't really guarantee
>> that you've got one of those two. Testing for a combination of
>> SIZE_T_MAX, INT_MAX, LONG_MAX, LLONG_MAX and UCHAR_MAX maybe?
> 
>   I am afraid of touching those defines in lightning.h because I no longer
> have access to some hosts, e.g. gcc build farm linux ia64 and hpux are
> dead, I am still waiting for some hosts in snakebite.net to be revived...

I see.

>   What FreeBSD version are you using? FreeBSD 9.1 has this in
> stdint.h:
> 
> /* GNU and Darwin define this and people seem to think it's portable */
> #if defined(UINTPTR_MAX) && defined(UINT64_MAX) && (UINTPTR_MAX == UINT64_MAX)
> #define __WORDSIZE              64
> #else
> #define __WORDSIZE              32
> #endif

The problem actually surfaced while testing on FreeBSD 8.4, where this
define is missing. I guess it would make sense to add this condition to
the end of 'ifndef __WORDSIZE' switch and be done with it.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]