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 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 */ 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..34a559dd801bcf --- /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_PREHEADER`