From 0eb59b3c62e9b1c2776ac387943eff0bb09d4271 Mon Sep 17 00:00:00 2001 From: Sergey Miryanov Date: Tue, 24 Jun 2025 01:18:25 +0500 Subject: [PATCH 1/4] Add comemnt for Py_TPFLAGS_PREHEADER --- Include/object.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Include/object.h b/Include/object.h index c75e9db0cbd935..e2ac5300b431dc 100644 --- a/Include/object.h +++ b/Include/object.h @@ -534,6 +534,9 @@ given type object has a specified feature. */ #define Py_TPFLAGS_MANAGED_DICT (1 << 4) +/* Type has dictionary or weakref pointers that are managed by VM and has + * to allocate space to store these. + */ #define Py_TPFLAGS_PREHEADER (Py_TPFLAGS_MANAGED_WEAKREF | Py_TPFLAGS_MANAGED_DICT) /* Set if instances of the type object are treated as sequences for pattern matching */ From 3195c3333907c3d1f0031f255558d7938f925192 Mon Sep 17 00:00:00 2001 From: Sergey Miryanov Date: Tue, 24 Jun 2025 13:06:33 +0500 Subject: [PATCH 2/4] Add Py_TPFLAGS_PREHEADER to typeobj.rst --- Doc/c-api/typeobj.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst index af2bead3bb5004..fe5b1c4c02e2f5 100644 --- a/Doc/c-api/typeobj.rst +++ b/Doc/c-api/typeobj.rst @@ -1287,6 +1287,15 @@ and :c:data:`PyType_Type` effectively act as defaults.) :c:member:`~PyTypeObject.tp_weaklistoffset` field is set in a superclass. + .. c:macro:: Py_TPFLAGS_PREHEADER + + This is a shorthand for checking is :c:macro:`Py_TPFLAGS_MANAGED_DICT` or + :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` present. Supposed only for internal + usage. + + .. versionadded:: 3.12 + + .. c:macro:: Py_TPFLAGS_ITEMS_AT_END Only usable with variable-size types, i.e. ones with non-zero From 6b37dcf8d0a34f48edcad1c2bfcd014d46939823 Mon Sep 17 00:00:00 2001 From: Sergey Miryanov Date: Tue, 24 Jun 2025 13:08:25 +0500 Subject: [PATCH 3/4] Add news --- .../2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst new file mode 100644 index 00000000000000..7fe309691c410e --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst @@ -0,0 +1 @@ +Add documnetation for :c:macro:`Py_TPFLAGS_MANAGED_Py_TPFLAGS_PREHEADER` From fc7fb8553d21c6f8eed487e4cae001f900fd3031 Mon Sep 17 00:00:00 2001 From: Sergey Miryanov Date: Tue, 24 Jun 2025 13:50:14 +0500 Subject: [PATCH 4/4] Fix news entry --- .../2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst index 7fe309691c410e..34a559dd801bcf 100644 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst +++ b/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst @@ -1 +1 @@ -Add documnetation for :c:macro:`Py_TPFLAGS_MANAGED_Py_TPFLAGS_PREHEADER` +Add documnetation for :c:macro:`Py_TPFLAGS_PREHEADER`