gh-108765: Python.h no longer includes <stddef.h> on Windows (#111563)
https://github.com/python/cpython/commit/faa5f6053d7334a3ecc513c64947ac02643... commit: faa5f6053d7334a3ecc513c64947ac026439c03a branch: main author: Victor Stinner <vstinner@python.org> committer: vstinner <vstinner@python.org> date: 2023-10-31T21:53:57+01:00 summary: gh-108765: Python.h no longer includes <stddef.h> on Windows (#111563) In practice, only Windows is impacted, because the HAVE_STDDEF_H macro was only defined on Windows. files: A Misc/NEWS.d/next/C API/2023-10-31-18-22-03.gh-issue-108765._beYv8.rst M Doc/whatsnew/3.13.rst M Include/Python.h diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst index 3a2df4fc8a3de..197790234a158 100644 --- a/Doc/whatsnew/3.13.rst +++ b/Doc/whatsnew/3.13.rst @@ -1186,6 +1186,14 @@ Porting to Python 3.13 ``PyUnicode_AsUTF8AndSize(unicode, NULL)`` can be used instead. (Contributed by Victor Stinner in :gh:`111089`.) +* On Windows, ``Python.h`` no longer includes the ``<stddef.h>`` standard + header file. If needed, it should now be included explicitly. For example, it + provides ``offsetof()`` function, and ``size_t`` and ``ptrdiff_t`` types. + Including ``<stddef.h>`` explicitly was already needed by all other + platforms, the ``HAVE_STDDEF_H`` macro is only defined on Windows. + (Contributed by Victor Stinner in :gh:`108765`.) + + Deprecated ---------- diff --git a/Include/Python.h b/Include/Python.h index 7312cc87d5cc3..a1f26afbb1225 100644 --- a/Include/Python.h +++ b/Include/Python.h @@ -22,9 +22,6 @@ #include <math.h> // HUGE_VAL #include <stdarg.h> // va_list #include <wchar.h> // wchar_t -#ifdef HAVE_STDDEF_H -# include <stddef.h> // size_t -#endif #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> // ssize_t #endif diff --git a/Misc/NEWS.d/next/C API/2023-10-31-18-22-03.gh-issue-108765._beYv8.rst b/Misc/NEWS.d/next/C API/2023-10-31-18-22-03.gh-issue-108765._beYv8.rst new file mode 100644 index 0000000000000..14af79eaea9a0 --- /dev/null +++ b/Misc/NEWS.d/next/C API/2023-10-31-18-22-03.gh-issue-108765._beYv8.rst @@ -0,0 +1,3 @@ +On Windows, ``Python.h`` no longer includes the ``<stddef.h>`` standard +header file. If needed, it should now be included explicitly. Patch by +Victor Stinner.
participants (1)
-
vstinner