Issue #10333: Remove ancient GC API, which has been deprecated since

Python 2.2.
This commit is contained in:
Antoine Pitrou 2011-01-04 00:00:31 +00:00
parent cae969e70a
commit 23683ef26d
4 changed files with 7 additions and 21 deletions

View File

@ -242,9 +242,6 @@ PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, Py_ssize_t);
#define PyObject_GC_Resize(type, op, n) \
( (type *) _PyObject_GC_Resize((PyVarObject *)(op), (n)) )
/* for source compatibility with 2.2 */
#define _PyObject_GC_Del PyObject_GC_Del
/* GC information is stored BEFORE the object structure. */
#ifndef Py_LIMITED_API
typedef union _gc_head {
@ -328,15 +325,6 @@ PyAPI_FUNC(void) PyObject_GC_Del(void *);
} \
} while (0)
/* This is here for the sake of backwards compatibility. Extensions that
* use the old GC API will still compile but the objects will not be
* tracked by the GC. */
#define PyGC_HEAD_SIZE 0
#define PyObject_GC_Init(op)
#define PyObject_GC_Fini(op)
#define PyObject_AS_GC(op) (op)
#define PyObject_FROM_GC(op) (op)
/* Test if a type supports weak references */
#define PyType_SUPPORTS_WEAKREFS(t) ((t)->tp_weaklistoffset > 0)

View File

@ -101,6 +101,12 @@ Library
- Deprecated assertDictContainsSubset() in the unittest module.
C-API
-----
- Issue #10333: Remove ancient GC API, which has been deprecated since
Python 2.2.
Build
-----

View File

@ -1511,11 +1511,3 @@ PyObject_GC_Del(void *op)
}
PyObject_FREE(g);
}
/* for binary compatibility with 2.2 */
#undef _PyObject_GC_Del
void
_PyObject_GC_Del(PyObject *op)
{
PyObject_GC_Del(op);
}

View File

@ -1522,7 +1522,7 @@ PyDoc_STRVAR(Xmlparsetype__doc__, "XML parser");
static PyTypeObject Xmlparsetype = {
PyVarObject_HEAD_INIT(NULL, 0)
"pyexpat.xmlparser", /*tp_name*/
sizeof(xmlparseobject) + PyGC_HEAD_SIZE,/*tp_basicsize*/
sizeof(xmlparseobject), /*tp_basicsize*/
0, /*tp_itemsize*/
/* methods */
(destructor)xmlparse_dealloc, /*tp_dealloc*/