Remove HAVE_PTRDIFF_T and SIZEOF_PTRDIFF_T (#18968)

The ptrdiff_t is a C89 standard type defined in `<stddef.h>` and widely
available on current platforms. Using it conditionally as in these
occurrences is not needed anymore.
This commit is contained in:
Peter Kokot 2025-06-28 20:16:12 +02:00 committed by GitHub
parent 984bcb5d69
commit fffe642d67
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 4 additions and 33 deletions

View file

@ -50,6 +50,9 @@ PHP 8.5 INTERNALS UPGRADE NOTES
2. Build system changes 2. Build system changes
======================== ========================
- Abstract
. Preprocessor macro SIZEOF_PTRDIFF_T has been removed.
- Windows build system changes - Windows build system changes
. SAPI() and ADD_SOURCES() now suport the optional `duplicate_sources` . SAPI() and ADD_SOURCES() now suport the optional `duplicate_sources`
parameter. If truthy, no rules to build the object files are generated. parameter. If truthy, no rules to build the object files are generated.
@ -69,6 +72,7 @@ PHP 8.5 INTERNALS UPGRADE NOTES
. Autoconf macro PHP_DEF_HAVE has been removed (use AC_DEFINE). . Autoconf macro PHP_DEF_HAVE has been removed (use AC_DEFINE).
. Autoconf macro PHP_OUTPUT has been removed (use AC_CONFIG_FILES). . Autoconf macro PHP_OUTPUT has been removed (use AC_CONFIG_FILES).
. Autoconf macro PHP_TEST_BUILD has been removed (use AC_* macros). . Autoconf macro PHP_TEST_BUILD has been removed (use AC_* macros).
. Preprocessor macro HAVE_PTRDIFF_T has been removed.
======================== ========================
3. Module changes 3. Module changes

View file

@ -454,7 +454,6 @@ AC_CHECK_TYPES([socklen_t], [], [], [
dnl These are defined elsewhere than stdio.h. dnl These are defined elsewhere than stdio.h.
PHP_CHECK_SIZEOF([intmax_t], [0]) PHP_CHECK_SIZEOF([intmax_t], [0])
PHP_CHECK_SIZEOF([ssize_t], [8]) PHP_CHECK_SIZEOF([ssize_t], [8])
PHP_CHECK_SIZEOF([ptrdiff_t], [8])
dnl Check stdint types (must be after header check). dnl Check stdint types (must be after header check).
PHP_CHECK_STDINT_TYPES PHP_CHECK_STDINT_TYPES

View file

@ -24,10 +24,6 @@
#include "collator_convert.h" #include "collator_convert.h"
#include "intl_convert.h" #include "intl_convert.h"
#if !defined(HAVE_PTRDIFF_T) && !defined(_PTRDIFF_T_DEFINED)
typedef zend_long ptrdiff_t;
#endif
/** /**
* Declare 'index' which will point to sort key in sort key * Declare 'index' which will point to sort key in sort key
* buffer. * buffer.

View file

@ -621,11 +621,7 @@ static size_t format_converter(buffy * odp, const char *fmt, va_list ap) /* {{{
break; break;
case 't': case 't':
fmt++; fmt++;
#if SIZEOF_PTRDIFF_T
modifier = LM_PTRDIFF_T; modifier = LM_PTRDIFF_T;
#else
modifier = LM_SIZE_T;
#endif
break; break;
case 'p': case 'p':
{ {
@ -694,11 +690,9 @@ static size_t format_converter(buffy * odp, const char *fmt, va_list ap) /* {{{
i_num = (int64_t) va_arg(ap, uintmax_t); i_num = (int64_t) va_arg(ap, uintmax_t);
break; break;
#endif #endif
#if SIZEOF_PTRDIFF_T
case LM_PTRDIFF_T: case LM_PTRDIFF_T:
i_num = (int64_t) va_arg(ap, ptrdiff_t); i_num = (int64_t) va_arg(ap, ptrdiff_t);
break; break;
#endif
} }
/* /*
* The rest also applies to other integer formats, so fall * The rest also applies to other integer formats, so fall
@ -737,11 +731,9 @@ static size_t format_converter(buffy * odp, const char *fmt, va_list ap) /* {{{
i_num = (int64_t) va_arg(ap, intmax_t); i_num = (int64_t) va_arg(ap, intmax_t);
break; break;
#endif #endif
#if SIZEOF_PTRDIFF_T
case LM_PTRDIFF_T: case LM_PTRDIFF_T:
i_num = (int64_t) va_arg(ap, ptrdiff_t); i_num = (int64_t) va_arg(ap, ptrdiff_t);
break; break;
#endif
} }
} }
s = ap_php_conv_10(i_num, (*fmt) == 'u', &is_negative, s = ap_php_conv_10(i_num, (*fmt) == 'u', &is_negative,
@ -783,11 +775,9 @@ static size_t format_converter(buffy * odp, const char *fmt, va_list ap) /* {{{
ui_num = (uint64_t) va_arg(ap, uintmax_t); ui_num = (uint64_t) va_arg(ap, uintmax_t);
break; break;
#endif #endif
#if SIZEOF_PTRDIFF_T
case LM_PTRDIFF_T: case LM_PTRDIFF_T:
ui_num = (uint64_t) va_arg(ap, ptrdiff_t); ui_num = (uint64_t) va_arg(ap, ptrdiff_t);
break; break;
#endif
} }
s = ap_php_conv_p2(ui_num, 3, *fmt, &num_buf[NUM_BUF_SIZE], &s_len); s = ap_php_conv_p2(ui_num, 3, *fmt, &num_buf[NUM_BUF_SIZE], &s_len);
FIX_PRECISION(adjust_precision, precision, s, s_len); FIX_PRECISION(adjust_precision, precision, s, s_len);
@ -822,11 +812,9 @@ static size_t format_converter(buffy * odp, const char *fmt, va_list ap) /* {{{
ui_num = (uint64_t) va_arg(ap, uintmax_t); ui_num = (uint64_t) va_arg(ap, uintmax_t);
break; break;
#endif #endif
#if SIZEOF_PTRDIFF_T
case LM_PTRDIFF_T: case LM_PTRDIFF_T:
ui_num = (uint64_t) va_arg(ap, ptrdiff_t); ui_num = (uint64_t) va_arg(ap, ptrdiff_t);
break; break;
#endif
} }
s = ap_php_conv_p2(ui_num, 4, *fmt, &num_buf[NUM_BUF_SIZE], &s_len); s = ap_php_conv_p2(ui_num, 4, *fmt, &num_buf[NUM_BUF_SIZE], &s_len);
FIX_PRECISION(adjust_precision, precision, s, s_len); FIX_PRECISION(adjust_precision, precision, s, s_len);

View file

@ -116,9 +116,7 @@ typedef enum {
#if SIZEOF_INTMAX_T #if SIZEOF_INTMAX_T
LM_INTMAX_T, LM_INTMAX_T,
#endif #endif
#if SIZEOF_PTRDIFF_T
LM_PTRDIFF_T, LM_PTRDIFF_T,
#endif
#if SIZEOF_LONG_LONG #if SIZEOF_LONG_LONG
LM_LONG_LONG, LM_LONG_LONG,
#endif #endif

View file

@ -321,11 +321,7 @@ static void xbuf_format_converter(void *xbuf, bool is_char, const char *fmt, va_
break; break;
case 't': case 't':
fmt++; fmt++;
#if SIZEOF_PTRDIFF_T
modifier = LM_PTRDIFF_T; modifier = LM_PTRDIFF_T;
#else
modifier = LM_SIZE_T;
#endif
break; break;
case 'p': case 'p':
{ {
@ -403,11 +399,9 @@ static void xbuf_format_converter(void *xbuf, bool is_char, const char *fmt, va_
i_num = (int64_t) va_arg(ap, uintmax_t); i_num = (int64_t) va_arg(ap, uintmax_t);
break; break;
#endif #endif
#if SIZEOF_PTRDIFF_T
case LM_PTRDIFF_T: case LM_PTRDIFF_T:
i_num = (int64_t) va_arg(ap, ptrdiff_t); i_num = (int64_t) va_arg(ap, ptrdiff_t);
break; break;
#endif
} }
/* /*
* The rest also applies to other integer formats, so fall * The rest also applies to other integer formats, so fall
@ -446,11 +440,9 @@ static void xbuf_format_converter(void *xbuf, bool is_char, const char *fmt, va_
i_num = (int64_t) va_arg(ap, intmax_t); i_num = (int64_t) va_arg(ap, intmax_t);
break; break;
#endif #endif
#if SIZEOF_PTRDIFF_T
case LM_PTRDIFF_T: case LM_PTRDIFF_T:
i_num = (int64_t) va_arg(ap, ptrdiff_t); i_num = (int64_t) va_arg(ap, ptrdiff_t);
break; break;
#endif
} }
} }
s = ap_php_conv_10(i_num, (*fmt) == 'u', &is_negative, s = ap_php_conv_10(i_num, (*fmt) == 'u', &is_negative,
@ -491,11 +483,9 @@ static void xbuf_format_converter(void *xbuf, bool is_char, const char *fmt, va_
ui_num = (uint64_t) va_arg(ap, uintmax_t); ui_num = (uint64_t) va_arg(ap, uintmax_t);
break; break;
#endif #endif
#if SIZEOF_PTRDIFF_T
case LM_PTRDIFF_T: case LM_PTRDIFF_T:
ui_num = (uint64_t) va_arg(ap, ptrdiff_t); ui_num = (uint64_t) va_arg(ap, ptrdiff_t);
break; break;
#endif
} }
s = ap_php_conv_p2(ui_num, 3, *fmt, s = ap_php_conv_p2(ui_num, 3, *fmt,
&num_buf[NUM_BUF_SIZE], &s_len); &num_buf[NUM_BUF_SIZE], &s_len);
@ -531,11 +521,9 @@ static void xbuf_format_converter(void *xbuf, bool is_char, const char *fmt, va_
ui_num = (uint64_t) va_arg(ap, uintmax_t); ui_num = (uint64_t) va_arg(ap, uintmax_t);
break; break;
#endif #endif
#if SIZEOF_PTRDIFF_T
case LM_PTRDIFF_T: case LM_PTRDIFF_T:
ui_num = (uint64_t) va_arg(ap, ptrdiff_t); ui_num = (uint64_t) va_arg(ap, ptrdiff_t);
break; break;
#endif
} }
s = ap_php_conv_p2(ui_num, 4, *fmt, s = ap_php_conv_p2(ui_num, 4, *fmt,
&num_buf[NUM_BUF_SIZE], &s_len); &num_buf[NUM_BUF_SIZE], &s_len);

View file

@ -84,10 +84,8 @@
#define ssize_t SSIZE_T #define ssize_t SSIZE_T
#ifdef _WIN64 #ifdef _WIN64
# define SIZEOF_SIZE_T 8 # define SIZEOF_SIZE_T 8
# define SIZEOF_PTRDIFF_T 8
#else #else
# define SIZEOF_SIZE_T 4 # define SIZEOF_SIZE_T 4
# define SIZEOF_PTRDIFF_T 4
#endif #endif
#define SIZEOF_OFF_T 4 #define SIZEOF_OFF_T 4
#define HAVE_FNMATCH #define HAVE_FNMATCH