develooper Front page | perl.perl5.porters | Postings from September 2013

Re: [perl #119753] HAS_QUAD and 32 bit IVs on platforms with "quad"s

Thread Previous | Thread Next
Aaron Crane
September 13, 2013 14:48
Re: [perl #119753] HAS_QUAD and 32 bit IVs on platforms with "quad"s
Message ID:
Nicholas Clark <> wrote:
> I'm not sure that it's worth actually doing this part:
> commit 81775faa427fb3dcb687559381d9a5cb616d20b3
> Author: Nicholas Clark <>
> Date:   Wed Sep 11 12:20:05 2013 +0100
>     Don't undefine HAS_QUAD with 32 bit IVs on a platform with a 64 bit type.
>     When commit de1c2614758a00c0 added support for $Config{d_quad} and HAS_QUAD
>     in Oct 1999, it also undefined HAS_QUAD. The presence of a 64 bit type
>     doesn't directly affect the choice of using 32 or 64 bit types for IVs, so
>     undefining this simply throws away information which might be of use to C
>     and XS code.

I agree that it's not worth it; HAS_QUAD's documentation has differed
from its behaviour for long enough that changing the latter seems
likely to break more than it fixes.

There may be a case for adding a HAS_QUAD_AVAILABLE preprocessor
symbol with the same behaviour as HAS_QUAD's documentation.  But, as
you point out, CPAN authors seem to have converged on just using long
long, which works in most places.  And the hypothetical new symbol
would only be available in 5.20+ (such things don't go into ppport.h,
right?), so its utility would seem to be low.

Aaron Crane **

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About