summaryrefslogtreecommitdiff
path: root/Include/internal/pycore_object.h
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2022-01-28 00:39:52 +0100
committerGitHub <noreply@github.com>2022-01-28 00:39:52 +0100
commit18ea973c21ee4a6adc26be41027881043fa498eb (patch)
tree4d9f76fd0c776453372d81c83f48a6fc8cfab6ce /Include/internal/pycore_object.h
parent0575551f69ba9c999835bfb176a543d468083c03 (diff)
downloadcpython-git-18ea973c21ee4a6adc26be41027881043fa498eb.tar.gz
bpo-40170: Remove PyHeapType_GET_MEMBERS() macro (GH-30942)
Remove the PyHeapType_GET_MEMBERS() macro. It was exposed in the public C API by mistake, it must only be used by Python internally. Use the PyTypeObject.tp_members member instead. Rename PyHeapType_GET_MEMBERS() to _PyHeapType_GET_MEMBERS() and move it to the internal C API.
Diffstat (limited to 'Include/internal/pycore_object.h')
-rw-r--r--Include/internal/pycore_object.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/Include/internal/pycore_object.h b/Include/internal/pycore_object.h
index 5fe4ddb2ef..e2da2537c1 100644
--- a/Include/internal/pycore_object.h
+++ b/Include/internal/pycore_object.h
@@ -232,6 +232,10 @@ extern void _PyObject_FreeInstanceAttributes(PyObject *self);
extern int _PyObject_IsInstanceDictEmpty(PyObject *);
extern PyObject* _PyType_GetSubclasses(PyTypeObject *);
+// Access macro to the members which are floating "behind" the object
+#define _PyHeapType_GET_MEMBERS(etype) \
+ ((PyMemberDef *)(((char *)etype) + Py_TYPE(etype)->tp_basicsize))
+
#ifdef __cplusplus
}
#endif