51 lines
2.3 KiB
Diff
51 lines
2.3 KiB
Diff
From 829611469a979f499f3658fba632c9d9fe96933e Mon Sep 17 00:00:00 2001
|
|
From: Victor Stinner <vstinner@python.org>
|
|
Date: Fri, 16 Feb 2024 09:02:35 +0100
|
|
Subject: [PATCH] Use Python 3.13a4 PyCFunctionFastWithKeywords
|
|
|
|
Python 3.13a4 adds a public PyCFunctionFastWithKeywords and
|
|
PyCFunctionFast types and removes the private
|
|
_PyCFunctionFastWithKeywords and _PyCFunctionFast types:
|
|
|
|
* https://github.com/python/cpython/commit/9e3729bbd77fb9dcaea6a06ac760160136d80b79
|
|
* https://github.com/python/cpython/pull/114627
|
|
* https://github.com/capi-workgroup/decisions/issues/11
|
|
---
|
|
Cython/Utility/CythonFunction.c | 2 +-
|
|
Cython/Utility/ModuleSetupCode.c | 9 +++++++--
|
|
2 files changed, 8 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/Cython/Utility/CythonFunction.c b/Cython/Utility/CythonFunction.c
|
|
index 2a3b67335d2..646e3f5ff3a 100644
|
|
--- a/Cython/Utility/CythonFunction.c
|
|
+++ b/Cython/Utility/CythonFunction.c
|
|
@@ -1019,7 +1019,7 @@ static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func,
|
|
return NULL;
|
|
}
|
|
|
|
- return ((_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames);
|
|
+ return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames);
|
|
}
|
|
|
|
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
|
|
diff --git a/Cython/Utility/ModuleSetupCode.c b/Cython/Utility/ModuleSetupCode.c
|
|
index 785fcc653ef..03373b50f13 100644
|
|
--- a/Cython/Utility/ModuleSetupCode.c
|
|
+++ b/Cython/Utility/ModuleSetupCode.c
|
|
@@ -907,8 +907,13 @@ class __Pyx_FakeReference {
|
|
typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
|
|
Py_ssize_t nargs, PyObject *kwnames);
|
|
#else
|
|
- #define __Pyx_PyCFunctionFast _PyCFunctionFast
|
|
- #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
|
|
+ #if PY_VERSION_HEX >= 0x030d00A4
|
|
+ # define __Pyx_PyCFunctionFast PyCFunctionFast
|
|
+ # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords
|
|
+ #else
|
|
+ # define __Pyx_PyCFunctionFast _PyCFunctionFast
|
|
+ # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
|
|
+ #endif
|
|
#endif
|
|
|
|
#if CYTHON_METH_FASTCALL
|