diff --git a/perl.h b/perl.h index 644fb3560e20..8ae7eaa0f365 100644 --- a/perl.h +++ b/perl.h @@ -1425,51 +1425,6 @@ EXTERN_C int syscall(int, ...); EXTERN_C int usleep(unsigned int); #endif -/* Macros for correct constant construction. These are in C99 - * (so they will not be available in strict C89 mode), but they are nice, so - * let's define them if necessary. */ - -/* -=for apidoc_section $integer -=for apidoc Am|I16|INT16_C|number -=for apidoc_item |I32|INT32_C|number -=for apidoc_item |I64|INT64_C|number - -Returns a token the C compiler recognizes for the constant C of the -corresponding integer type on the machine. - -If the machine does not have a 64-bit type, C is undefined. -Use C> to get the largest type available on the platform. - -=for apidoc Am|U16|UINT16_C|number -=for apidoc_item |U32|UINT32_C|number -=for apidoc_item |U64|UINT64_C|number - -Returns a token the C compiler recognizes for the constant C of the -corresponding unsigned integer type on the machine. - -If the machine does not have a 64-bit type, C is undefined. -Use C> to get the largest type available on the platform. - - -=cut -*/ -#ifndef UINT16_C -# if INTSIZE >= 2 -# define UINT16_C(x) ((U16_TYPE)x##U) -# else -# define UINT16_C(x) ((U16_TYPE)x##UL) -# endif -#endif - -#ifndef UINT32_C -# if INTSIZE >= 4 -# define UINT32_C(x) ((U32_TYPE)x##U) -# else -# define UINT32_C(x) ((U32_TYPE)x##UL) -# endif -#endif - #ifdef I_STDINT typedef intmax_t PERL_INTMAX_T; typedef uintmax_t PERL_UINTMAX_T; @@ -1481,43 +1436,6 @@ Use C> to get the largest type available on the platform. * removing the undef. */ #if defined(QUADKIND) -# undef PeRl_INT64_C -# undef PeRl_UINT64_C -/* Prefer the native integer types (int and long) over long long - * (which is not C89) and Win32-specific __int64. */ -# if QUADKIND == QUAD_IS_INT && INTSIZE == 8 -# define PeRl_INT64_C(c) (c) -# define PeRl_UINT64_C(c) CAT2(c,U) -# endif -# if QUADKIND == QUAD_IS_LONG && LONGSIZE == 8 -# define PeRl_INT64_C(c) CAT2(c,L) -# define PeRl_UINT64_C(c) CAT2(c,UL) -# endif -# if QUADKIND == QUAD_IS_LONG_LONG && defined(HAS_LONG_LONG) -# define PeRl_INT64_C(c) CAT2(c,LL) -# define PeRl_UINT64_C(c) CAT2(c,ULL) -# endif -# if QUADKIND == QUAD_IS___INT64 -# define PeRl_INT64_C(c) CAT2(c,I64) -# define PeRl_UINT64_C(c) CAT2(c,UI64) -# endif -# ifndef PeRl_INT64_C -# define PeRl_INT64_C(c) ((I64)(c)) /* last resort */ -# define PeRl_UINT64_C(c) ((U64TYPE)(c)) -# endif -/* In OS X the INT64_C/UINT64_C are defined with LL/ULL, which will - * not fly with C89-pedantic gcc, so let's undefine them first so that - * we can redefine them with our native integer preferring versions. */ -# if defined(PERL_DARWIN) && defined(PERL_GCC_PEDANTIC) -# undef INT64_C -# undef UINT64_C -# endif -# ifndef INT64_C -# define INT64_C(c) PeRl_INT64_C(c) -# endif -# ifndef UINT64_C -# define UINT64_C(c) PeRl_UINT64_C(c) -# endif /* =for apidoc_section $integer @@ -1528,8 +1446,6 @@ long>s, C would yield -1LL -See also, for example, C>. - Use L to declare variables of the maximum usable size on this platform. =for apidoc Am||UINTMAX_C|number @@ -1539,8 +1455,6 @@ Cs, C would yield 1UL -See also, for example, C>. - Use L to declare variables of the maximum usable size on this platform. =cut diff --git a/pod/perlguts.pod b/pod/perlguts.pod index 4dfea65eeced..47ba3a87bd88 100644 --- a/pod/perlguts.pod +++ b/pod/perlguts.pod @@ -58,7 +58,7 @@ be undefined. Use IV and UV to declare the largest practicable, and C> for the absolute maximum unsigned, but which may not be usable in all circumstances. -A numeric constant can be specified with L>, +A numeric constant can be specified with the C99 macros like C, L>, and similar. =for apidoc_section $integer diff --git a/win32/config.vc b/win32/config.vc index 78e4a67c548d..77351781cdc7 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -782,7 +782,7 @@ i_shadow='undef' i_socks='undef' i_stdbool='undef' i_stdckdint='undef' -i_stdint='undef' +i_stdint='define' i_stdlib='define' i_sunmath='undef' i_sysaccess='undef' diff --git a/win32/config_H.vc b/win32/config_H.vc index 5971f97f7a51..eb454b360b91 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -9,8 +9,8 @@ /* Package name : perl5 * Source directory : - * Configuration time: Thu Aug 3 07:27:03 2023 - * Configured by : khw + * Configuration time: Wed Sep 24 12:01:52 2025 + * Configured by : tony * Target system : */ @@ -107,6 +107,12 @@ */ /*#define HAS_FCNTL / **/ +/* HAS_FDOPENDIR: + * This symbol, if defined, indicates that the fdopendir routine is + * available to open a directory descriptor. + */ +/*#define HAS_FDOPENDIR / **/ + /* HAS_FGETPOS: * This symbol, if defined, indicates that the fgetpos routine is * available to get the file position indicator, similar to ftell(). @@ -1369,7 +1375,7 @@ * feature tests from Configure are generally more reliable. */ #define OSNAME "MSWin32" /**/ -#define OSVERS "10.0.22621.1992" /**/ +#define OSVERS "10.0.19045.6332" /**/ /* CAT2: * This macro concatenates 2 tokens together. @@ -2289,7 +2295,7 @@ * This symbol, if defined, indicates that the acosh routine is * available to do the inverse hyperbolic cosine function. */ -/*#define HAS_ACOSH / **/ +#define HAS_ACOSH /**/ /* HAS_AINTL: * This symbol, if defined, indicates that the aintl routine is @@ -2301,13 +2307,13 @@ * This symbol, if defined, indicates that the asinh routine is * available to do the inverse hyperbolic sine function. */ -/*#define HAS_ASINH / **/ +#define HAS_ASINH /**/ /* HAS_ATANH: * This symbol, if defined, indicates that the atanh routine is * available to do the inverse hyperbolic tangent function. */ -/*#define HAS_ATANH / **/ +#define HAS_ATANH /**/ /* HAS_NON_INT_BITFIELDS: * This symbol, if defined, indicates that the C compiler accepts, without @@ -2381,13 +2387,13 @@ * This symbol, if defined, indicates that the copysign routine is * available to do the copysign function. */ -/*#define HAS_COPYSIGN / **/ +#define HAS_COPYSIGN /**/ /* HAS_COPYSIGNL: * This symbol, if defined, indicates that the copysignl routine is * available. If aintl is also present we can emulate modfl. */ -/*#define HAS_COPYSIGNL / **/ +#define HAS_COPYSIGNL /**/ /* USE_CPLUSPLUS: * This symbol, if defined, indicates that a C++ compiler was @@ -2445,7 +2451,7 @@ * This symbol, if defined, indicates that the exp2 routine is * available to do the 2**x function. */ -/*#define HAS_EXP2 / **/ +#define HAS_EXP2 /**/ /* HAS_EXPM1: * This symbol, if defined, indicates that the expm1 routine is @@ -2827,7 +2833,7 @@ * This symbol, if defined, indicates that the isfinite routine is * available to check whether a double is finite (non-infinity non-NaN). */ -#define HAS_ISFINITE / **/ +#define HAS_ISFINITE /**/ /* HAS_ISFINITEL: * This symbol, if defined, indicates that the isfinitel routine is @@ -3307,7 +3313,7 @@ * in perl. Users should call Perl_signbit(), which will be #defined to * the system's signbit() function or macro if this symbol is defined. */ -/*#define HAS_SIGNBIT / **/ +#define HAS_SIGNBIT /**/ /* HAS_SIGPROCMASK: * This symbol, if defined, indicates that the sigprocmask @@ -3488,7 +3494,7 @@ * This symbol, if defined, indicates that the tgamma routine is * available to do the gamma function. See also HAS_LGAMMA. */ -/*#define HAS_TGAMMA / **/ +#define HAS_TGAMMA /**/ /* HAS_CTIME64: * This symbol, if defined, indicates that the ctime64 () routine is @@ -3811,7 +3817,7 @@ * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_STDINT / **/ +#define I_STDINT /**/ /* I_SUNMATH: * This symbol, if defined, indicates that exists and