From: Steve Hay Date: Tue, 7 Oct 2008 12:18:11 +0000 (+0000) Subject: Define HAS_QUAD on Win32 and introduce new value for QUADKIND X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=83ff24d4e96afd1ea1248746770115bb18c7b35a;p=p5sagit%2Fp5-mst-13.2.git Define HAS_QUAD on Win32 and introduce new value for QUADKIND where appropriate. This doesn't make much difference on Win32 because IVSIZE is still 4, but access to the appropriate "quad" type is still useful, e.g. for Y2038 support. p4raw-id: //depot/perl@34470 --- diff --git a/win32/config.bc b/win32/config.bc index 4e7cd11..5d6dcd8 100644 --- a/win32/config.bc +++ b/win32/config.bc @@ -351,7 +351,7 @@ d_pwgecos='undef' d_pwpasswd='undef' d_pwquota='undef' d_qgcvt='undef' -d_quad='undef' +d_quad='define' d_random_r='undef' d_readdir64_r='undef' d_readdir='define' diff --git a/win32/config.gc b/win32/config.gc index 79f4d8e..f14d0b5 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -351,7 +351,7 @@ d_pwgecos='undef' d_pwpasswd='undef' d_pwquota='undef' d_qgcvt='undef' -d_quad='undef' +d_quad='define' d_random_r='undef' d_readdir64_r='undef' d_readdir='define' @@ -851,7 +851,7 @@ privlibexp='~INST_TOP~~INST_VER~\lib' procselfexe='' prototype='define' ptrsize='4' -quadkind='5' +quadkind='3' quadtype='long long' randbits='15' randfunc='rand' diff --git a/win32/config.vc b/win32/config.vc index 6613b45..b273c5a 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -351,7 +351,7 @@ d_pwgecos='undef' d_pwpasswd='undef' d_pwquota='undef' d_qgcvt='undef' -d_quad='undef' +d_quad='define' d_random_r='undef' d_readdir64_r='undef' d_readdir='define' diff --git a/win32/config.vc64 b/win32/config.vc64 index 02b5ac9..e8c3f11 100644 --- a/win32/config.vc64 +++ b/win32/config.vc64 @@ -851,7 +851,7 @@ privlibexp='~INST_TOP~~INST_VER~\lib' procselfexe='' prototype='define' ptrsize='8' -quadkind='4' +quadkind='5' quadtype='__int64' randbits='15' randfunc='rand' diff --git a/win32/config_H.bc b/win32/config_H.bc index 9e15ff3..c47f414 100644 --- a/win32/config_H.bc +++ b/win32/config_H.bc @@ -909,9 +909,10 @@ /* HAS_QUAD: * This symbol, if defined, tells that there's a 64-bit integer type, * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one - * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T. + * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T, + * or QUAD_IS___INT64. */ -/*#define HAS_QUAD /**/ +#define HAS_QUAD /**/ #ifdef HAS_QUAD # define Quad_t __int64 /**/ # define Uquad_t unsigned __int64 /**/ @@ -920,6 +921,7 @@ # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 # define QUAD_IS_INT64_T 4 +# define QUAD_IS___INT64 5 #endif /* OSNAME: diff --git a/win32/config_H.gc b/win32/config_H.gc index df197cb..6cd5538 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -909,22 +909,25 @@ /* HAS_QUAD: * This symbol, if defined, tells that there's a 64-bit integer type, * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one - * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T. + * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T, + * or QUAD_IS___INT64. */ -/*#define HAS_QUAD /**/ +#define HAS_QUAD /**/ #ifdef HAS_QUAD # ifndef _MSC_VER # define Quad_t long long /**/ # define Uquad_t unsigned long long /**/ +# define QUADKIND 3 /**/ # else # define Quad_t __int64 /**/ # define Uquad_t unsigned __int64 /**/ +# define QUADKIND 5 /**/ # endif -# define QUADKIND 5 /**/ # define QUAD_IS_INT 1 # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 # define QUAD_IS_INT64_T 4 +# define QUAD_IS___INT64 5 #endif /* OSNAME: diff --git a/win32/config_H.vc b/win32/config_H.vc index 53ef9e6..e43dcaf 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -909,22 +909,25 @@ /* HAS_QUAD: * This symbol, if defined, tells that there's a 64-bit integer type, * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one - * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T. + * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T. + * or QUAD_IS___INT64. */ -/*#define HAS_QUAD /**/ +#define HAS_QUAD /**/ #ifdef HAS_QUAD # ifndef __GNUC__ # define Quad_t __int64 /**/ # define Uquad_t unsigned __int64 /**/ +# define QUADKIND 5 /**/ # else # define Quad_t long long /**/ # define Uquad_t unsigned long long /**/ +# define QUADKIND 3 /**/ # endif -# define QUADKIND 5 /**/ # define QUAD_IS_INT 1 # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 # define QUAD_IS_INT64_T 4 +# define QUAD_IS___INT64 5 #endif /* OSNAME: diff --git a/win32/config_H.vc64 b/win32/config_H.vc64 index 699efc2..ac0f79e 100644 --- a/win32/config_H.vc64 +++ b/win32/config_H.vc64 @@ -909,17 +909,19 @@ /* HAS_QUAD: * This symbol, if defined, tells that there's a 64-bit integer type, * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one - * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T. + * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T + * or QUAD_IS___INT64. */ #define HAS_QUAD /**/ #ifdef HAS_QUAD # define Quad_t __int64 /**/ # define Uquad_t unsigned __int64 /**/ -# define QUADKIND 4 /**/ +# define QUADKIND 5 /**/ # define QUAD_IS_INT 1 # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 # define QUAD_IS_INT64_T 4 +# define QUAD_IS___INT64 5 #endif /* OSNAME: