Issue #10333: Remove ancient GC API, which has been deprecated since
Python 2.2.
diff --git a/Include/objimpl.h b/Include/objimpl.h
index 3fef376..8fc3fc1 100644
--- a/Include/objimpl.h
+++ b/Include/objimpl.h
@@ -242,9 +242,6 @@
 #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 @@
         }                                                               \
     } 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)
diff --git a/Misc/NEWS b/Misc/NEWS
index e9ba096..5df832d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -101,6 +101,12 @@
 
 - Deprecated assertDictContainsSubset() in the unittest module.
 
+C-API
+-----
+
+- Issue #10333: Remove ancient GC API, which has been deprecated since
+  Python 2.2.
+
 Build
 -----
 
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index 432efb3..10a4ed7 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -1511,11 +1511,3 @@
     }
     PyObject_FREE(g);
 }
-
-/* for binary compatibility with 2.2 */
-#undef _PyObject_GC_Del
-void
-_PyObject_GC_Del(PyObject *op)
-{
-    PyObject_GC_Del(op);
-}
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index 1a00347..c83639c 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -1522,7 +1522,7 @@
 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*/