Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 0 additions & 86 deletions perl.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 <stdint.h>
* (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<number> of the
corresponding integer type on the machine.

If the machine does not have a 64-bit type, C<INT64_C> is undefined.
Use C<L</INTMAX_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<number> of the
corresponding unsigned integer type on the machine.

If the machine does not have a 64-bit type, C<UINT64_C> is undefined.
Use C<L</UINTMAX_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;
Expand All @@ -1481,43 +1436,6 @@ Use C<L</UINTMAX_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
Expand All @@ -1528,8 +1446,6 @@ long>s, C<INTMAX_C(-1)> would yield

-1LL

See also, for example, C<L</INT32_C>>.

Use L</IV> to declare variables of the maximum usable size on this platform.

=for apidoc Am||UINTMAX_C|number
Expand All @@ -1539,8 +1455,6 @@ C<long>s, C<UINTMAX_C(1)> would yield

1UL

See also, for example, C<L</UINT32_C>>.

Use L</UV> to declare variables of the maximum usable size on this platform.

=cut
Expand Down
2 changes: 1 addition & 1 deletion pod/perlguts.pod
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ be undefined. Use IV and UV to declare the largest practicable, and
C<L<perlapi/WIDEST_UTYPE>> for the absolute maximum unsigned, but which
may not be usable in all circumstances.

A numeric constant can be specified with L<perlapi/C<INT16_C>>,
A numeric constant can be specified with the C99 macros like C<INT16_C>,
L<perlapi/C<UINTMAX_C>>, and similar.

=for apidoc_section $integer
Expand Down
2 changes: 1 addition & 1 deletion win32/config.vc
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
32 changes: 19 additions & 13 deletions win32/config_H.vc
Original file line number Diff line number Diff line change
Expand Up @@ -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 :
*/

Expand Down Expand Up @@ -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().
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -3811,7 +3817,7 @@
* This symbol, if defined, indicates that <stdint.h> exists and
* should be included.
*/
/*#define I_STDINT / **/
#define I_STDINT /**/

/* I_SUNMATH:
* This symbol, if defined, indicates that <sunmath.h> exists and
Expand Down
Loading