Issue #24254: Preserve class attribute definition order.
diff --git a/Include/object.h b/Include/object.h
index 0c88603..85bfce3 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -421,6 +421,8 @@
 
     destructor tp_finalize;
 
+    PyObject *tp_deforder;
+
 #ifdef COUNT_ALLOCS
     /* these must be last and never explicitly initialized */
     Py_ssize_t tp_allocs;
diff --git a/Include/odictobject.h b/Include/odictobject.h
index c1d9592..ca865c7 100644
--- a/Include/odictobject.h
+++ b/Include/odictobject.h
@@ -28,6 +28,10 @@
 PyAPI_FUNC(int) PyODict_SetItem(PyObject *od, PyObject *key, PyObject *item);
 PyAPI_FUNC(int) PyODict_DelItem(PyObject *od, PyObject *key);
 
+#ifndef Py_LIMITED_API
+PyAPI_FUNC(PyObject *) _PyODict_KeysAsTuple(PyObject *od);
+#endif
+
 /* wrappers around PyDict* functions */
 #define PyODict_GetItem(od, key) PyDict_GetItem((PyObject *)od, key)
 #define PyODict_GetItemWithError(od, key) \