https://github.com/python/cpython/commit/fda6bd842a2b93a501526f1b830eb900d935ac73
commit: fda6bd842a2b93a501526f1b830eb900d935ac73
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2024-08-01T14:12:33+02:00
summary:
Replace PyObject_Del with PyObject_Free (#122453)
PyObject_Del() is just a alias to PyObject_Free() kept for backward
compatibility. Use directly PyObject_Free() instead.
files:
M Doc/c-api/typeobj.rst
M Modules/_testcapi/gc.c
M Modules/_testcapimodule.c
M Objects/bytearrayobject.c
M Objects/bytesobject.c
M Objects/codeobject.c
M Objects/complexobject.c
M Objects/fileobject.c
M Objects/odictobject.c
M Objects/rangeobject.c
M Objects/typeobject.c
M Objects/unicodeobject.c
M Python/optimizer.c
diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst
index 0091e084308245..b7b1418df513c6 100644
--- a/Doc/c-api/typeobj.rst
+++ b/Doc/c-api/typeobj.rst
@@ -650,7 +650,7 @@ and :c:data:`PyType_Type` effectively act as defaults.)
(doesn't have the :c:macro:`Py_TPFLAGS_BASETYPE` flag bit set), it is
permissible to call the object deallocator directly instead of via
:c:member:`~PyTypeObject.tp_free`. The object deallocator should be the
one used to allocate the
- instance; this is normally :c:func:`PyObject_Del` if the instance was
allocated
+ instance; this is normally :c:func:`PyObject_Free` if the instance was
allocated
using :c:macro:`PyObject_New` or :c:macro:`PyObject_NewVar`, or
:c:func:`PyObject_GC_Del` if the instance was allocated using
:c:macro:`PyObject_GC_New` or :c:macro:`PyObject_GC_NewVar`.
@@ -1954,7 +1954,7 @@ and :c:data:`PyType_Type` effectively act as defaults.)
match :c:func:`PyType_GenericAlloc` and the value of the
:c:macro:`Py_TPFLAGS_HAVE_GC` flag bit.
- For static subtypes, :c:data:`PyBaseObject_Type` uses
:c:func:`PyObject_Del`.
+ For static subtypes, :c:data:`PyBaseObject_Type` uses
:c:func:`PyObject_Free`.
.. c:member:: inquiry PyTypeObject.tp_is_gc
diff --git a/Modules/_testcapi/gc.c b/Modules/_testcapi/gc.c
index b472a4185a98af..7e33e0d4861e84 100644
--- a/Modules/_testcapi/gc.c
+++ b/Modules/_testcapi/gc.c
@@ -72,7 +72,7 @@ without_gc(PyObject *Py_UNUSED(self), PyObject *obj)
if (PyType_IS_GC(tp)) {
// Don't try this at home, kids:
tp->tp_flags -= Py_TPFLAGS_HAVE_GC;
- tp->tp_free = PyObject_Del;
+ tp->tp_free = PyObject_Free;
tp->tp_traverse = NULL;
tp->tp_clear = NULL;
}
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index 5ebcfef6143e02..4a371a5ce33ebe 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -289,7 +289,7 @@ static PyTypeObject _HashInheritanceTester_Type = {
"hashinheritancetester", /* Name of this type */
sizeof(PyObject), /* Basic object size */
0, /* Item size for varobject */
- (destructor)PyObject_Del, /* tp_dealloc */
+ (destructor)PyObject_Free, /* tp_dealloc */
0, /* tp_vectorcall_offset */
0, /* tp_getattr */
0, /* tp_setattr */
@@ -3587,7 +3587,7 @@ static PyTypeObject matmulType = {
0,
0,
PyType_GenericNew, /* tp_new */
- PyObject_Del, /* tp_free */
+ PyObject_Free, /* tp_free */
};
typedef struct {
@@ -3699,7 +3699,7 @@ static PyTypeObject awaitType = {
0,
0,
awaitObject_new, /* tp_new */
- PyObject_Del, /* tp_free */
+ PyObject_Free, /* tp_free */
};
diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c
index 80679f93cd4c13..a80e4670665a22 100644
--- a/Objects/bytearrayobject.c
+++ b/Objects/bytearrayobject.c
@@ -2426,7 +2426,7 @@ PyTypeObject PyByteArray_Type = {
(initproc)bytearray___init__, /* tp_init */
PyType_GenericAlloc, /* tp_alloc */
PyType_GenericNew, /* tp_new */
- PyObject_Del, /* tp_free */
+ PyObject_Free, /* tp_free */
};
/*********************** Bytearray Iterator ****************************/
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index 459df6ceacf3a8..e88b199d89f758 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -3066,7 +3066,7 @@ PyTypeObject PyBytes_Type = {
0, /* tp_init */
bytes_alloc, /* tp_alloc */
bytes_new, /* tp_new */
- PyObject_Del, /* tp_free */
+ PyObject_Free, /* tp_free */
};
void
diff --git a/Objects/codeobject.c b/Objects/codeobject.c
index d45ba5ed4a9c06..6423a4214bfa9c 100644
--- a/Objects/codeobject.c
+++ b/Objects/codeobject.c
@@ -1352,7 +1352,7 @@ PyTypeObject _PyLineIterator = {
0, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
- PyObject_Del, /* tp_free */
+ PyObject_Free, /* tp_free */
};
static lineiterator *
@@ -1443,7 +1443,7 @@ PyTypeObject _PyPositionsIterator = {
0, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
- PyObject_Del, /* tp_free */
+ PyObject_Free, /* tp_free */
};
static PyObject*
diff --git a/Objects/complexobject.c b/Objects/complexobject.c
index 7c8a6bd9dfcd3f..4a8dac6c53f529 100644
--- a/Objects/complexobject.c
+++ b/Objects/complexobject.c
@@ -1247,5 +1247,5 @@ PyTypeObject PyComplex_Type = {
0, /* tp_init */
PyType_GenericAlloc, /* tp_alloc */
actual_complex_new, /* tp_new */
- PyObject_Del, /* tp_free */
+ PyObject_Free, /* tp_free */
};
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index bae49d367b65ee..c377d1bb28b56f 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -462,7 +462,7 @@ PyTypeObject PyStdPrinter_Type = {
0, /* tp_init */
PyType_GenericAlloc, /* tp_alloc */
0, /* tp_new */
- PyObject_Del, /* tp_free */
+ PyObject_Free, /* tp_free */
};
diff --git a/Objects/odictobject.c b/Objects/odictobject.c
index 30277aa0c23883..a9b801e70c9810 100644
--- a/Objects/odictobject.c
+++ b/Objects/odictobject.c
@@ -276,7 +276,7 @@ tp_dictoffset (__dict__) - -
tp_init __init__ object_init dict_init
tp_alloc - PyType_GenericAlloc (repeated)
tp_new __new__ object_new dict_new
-tp_free - PyObject_Del PyObject_GC_Del
+tp_free - PyObject_Free PyObject_GC_Del
================= ================ =================== ================
Relevant Methods
diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c
index 9727b4f47b53a1..1318ce0319d438 100644
--- a/Objects/rangeobject.c
+++ b/Objects/rangeobject.c
@@ -899,7 +899,7 @@ PyTypeObject PyRangeIter_Type = {
sizeof(_PyRangeIterObject), /* tp_basicsize */
0, /* tp_itemsize */
/* methods */
- (destructor)PyObject_Del, /* tp_dealloc */
+ (destructor)PyObject_Free, /* tp_dealloc */
0, /* tp_vectorcall_offset */
0, /* tp_getattr */
0, /* tp_setattr */
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 5b0a466f913495..a2d82e65b6ad9f 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -7456,7 +7456,7 @@ PyTypeObject PyBaseObject_Type = {
object_init, /* tp_init */
PyType_GenericAlloc, /* tp_alloc */
object_new, /* tp_new */
- PyObject_Del, /* tp_free */
+ PyObject_Free, /* tp_free */
};
@@ -8180,7 +8180,7 @@ type_ready_inherit(PyTypeObject *type)
/* Sanity check for tp_free. */
if (_PyType_IS_GC(type) && (type->tp_flags & Py_TPFLAGS_BASETYPE) &&
- (type->tp_free == NULL || type->tp_free == PyObject_Del))
+ (type->tp_free == NULL || type->tp_free == PyObject_Free))
{
/* This base class needs to call tp_free, but doesn't have
* one, or its tp_free is for non-gc'ed objects.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index ffb879a68745b1..12578812a762f6 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -15265,7 +15265,7 @@ PyTypeObject PyUnicode_Type = {
0, /* tp_init */
0, /* tp_alloc */
unicode_new, /* tp_new */
- PyObject_Del, /* tp_free */
+ PyObject_Free, /* tp_free */
.tp_vectorcall = unicode_vectorcall,
};
diff --git a/Python/optimizer.c b/Python/optimizer.c
index ce8a36575cde1d..9d0381357f2123 100644
--- a/Python/optimizer.c
+++ b/Python/optimizer.c
@@ -1374,7 +1374,7 @@ PyTypeObject _PyCounterOptimizer_Type = {
.tp_itemsize = 0,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION,
.tp_methods = counter_optimizer_methods,
- .tp_dealloc = (destructor)PyObject_Del,
+ .tp_dealloc = (destructor)PyObject_Free,
};
PyObject *
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]