From 2442d0236dfef71dbb93b2fcb9b78ace91c60f6e Mon Sep 17 00:00:00 2001 From: littlebutt Date: Sun, 9 Jul 2023 10:45:17 +0800 Subject: [PATCH 1/4] gh-104469 Convert_testcapi/vectorcall.c to use AC --- Modules/_testcapi/clinic/vectorcall.c.h | 110 +++++++++++++++++++++++- Modules/_testcapi/vectorcall.c | 65 ++++++++------ 2 files changed, 150 insertions(+), 25 deletions(-) diff --git a/Modules/_testcapi/clinic/vectorcall.c.h b/Modules/_testcapi/clinic/vectorcall.c.h index 765afeda9b306c..295a4c04633c0c 100644 --- a/Modules/_testcapi/clinic/vectorcall.c.h +++ b/Modules/_testcapi/clinic/vectorcall.c.h @@ -8,6 +8,114 @@ preserve #endif +PyDoc_STRVAR(_testcapi_test_pyobject_fastcalldict__doc__, +"test_pyobject_fastcalldict($module, func, func_args, kwargs, /)\n" +"--\n" +"\n"); + +#define _TESTCAPI_TEST_PYOBJECT_FASTCALLDICT_METHODDEF \ + {"test_pyobject_fastcalldict", _PyCFunction_CAST(_testcapi_test_pyobject_fastcalldict), METH_FASTCALL, _testcapi_test_pyobject_fastcalldict__doc__}, + +static PyObject * +_testcapi_test_pyobject_fastcalldict_impl(PyObject *module, PyObject *func, + PyObject *func_args, + PyObject *kwargs); + +static PyObject * +_testcapi_test_pyobject_fastcalldict(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + PyObject *func; + PyObject *func_args; + PyObject *__clinic_kwargs; + + if (!_PyArg_CheckPositional("test_pyobject_fastcalldict", nargs, 3, 3)) { + goto exit; + } + func = args[0]; + func_args = args[1]; + __clinic_kwargs = args[2]; + return_value = _testcapi_test_pyobject_fastcalldict_impl(module, func, func_args, __clinic_kwargs); + +exit: + return return_value; +} + +PyDoc_STRVAR(_testcapi_test_pyobject_vectorcall__doc__, +"test_pyobject_vectorcall($module, func, func_args,\n" +" kwnames=, /)\n" +"--\n" +"\n"); + +#define _TESTCAPI_TEST_PYOBJECT_VECTORCALL_METHODDEF \ + {"test_pyobject_vectorcall", _PyCFunction_CAST(_testcapi_test_pyobject_vectorcall), METH_FASTCALL, _testcapi_test_pyobject_vectorcall__doc__}, + +static PyObject * +_testcapi_test_pyobject_vectorcall_impl(PyObject *module, PyObject *func, + PyObject *func_args, + PyObject *kwnames); + +static PyObject * +_testcapi_test_pyobject_vectorcall(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + PyObject *func; + PyObject *func_args; + PyObject *__clinic_kwnames = NULL; + + if (!_PyArg_CheckPositional("test_pyobject_vectorcall", nargs, 2, 3)) { + goto exit; + } + func = args[0]; + func_args = args[1]; + if (nargs < 3) { + goto skip_optional; + } + __clinic_kwnames = args[2]; +skip_optional: + return_value = _testcapi_test_pyobject_vectorcall_impl(module, func, func_args, __clinic_kwnames); + +exit: + return return_value; +} + +PyDoc_STRVAR(_testcapi_test_pyvectorcall_call__doc__, +"test_pyvectorcall_call($module, func, argstuple,\n" +" kwargs=, /)\n" +"--\n" +"\n"); + +#define _TESTCAPI_TEST_PYVECTORCALL_CALL_METHODDEF \ + {"test_pyvectorcall_call", _PyCFunction_CAST(_testcapi_test_pyvectorcall_call), METH_FASTCALL, _testcapi_test_pyvectorcall_call__doc__}, + +static PyObject * +_testcapi_test_pyvectorcall_call_impl(PyObject *module, PyObject *func, + PyObject *argstuple, PyObject *kwargs); + +static PyObject * +_testcapi_test_pyvectorcall_call(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + PyObject *func; + PyObject *argstuple; + PyObject *__clinic_kwargs = NULL; + + if (!_PyArg_CheckPositional("test_pyvectorcall_call", nargs, 2, 3)) { + goto exit; + } + func = args[0]; + argstuple = args[1]; + if (nargs < 3) { + goto skip_optional; + } + __clinic_kwargs = args[2]; +skip_optional: + return_value = _testcapi_test_pyvectorcall_call_impl(module, func, argstuple, __clinic_kwargs); + +exit: + return return_value; +} + PyDoc_STRVAR(_testcapi_VectorCallClass_set_vectorcall__doc__, "set_vectorcall($self, type, /)\n" "--\n" @@ -110,4 +218,4 @@ _testcapi_has_vectorcall_flag(PyObject *module, PyObject *arg) exit: return return_value; } -/*[clinic end generated code: output=609569aa9942584f input=a9049054013a1b77]*/ +/*[clinic end generated code: output=5960972282b4bd2f input=a9049054013a1b77]*/ diff --git a/Modules/_testcapi/vectorcall.c b/Modules/_testcapi/vectorcall.c index 4935fd1b6a7ba3..abf5c24ea770ab 100644 --- a/Modules/_testcapi/vectorcall.c +++ b/Modules/_testcapi/vectorcall.c @@ -4,6 +4,10 @@ #include "structmember.h" // PyMemberDef #include // offsetof +/*[clinic input] +module _testcapi +[clinic start generated code]*/ +/*[clinic end generated code: output=da39a3ee5e6b4b0d input=6361033e795369fc]*/ /* Test PEP 590 - Vectorcall */ @@ -25,18 +29,23 @@ fastcall_args(PyObject *args, PyObject ***stack, Py_ssize_t *nargs) return 0; } +/*[clinic input] +_testcapi.test_pyobject_fastcalldict + func: object + func_args: object + kwargs: object + / +[clinic start generated code]*/ static PyObject * -test_pyobject_fastcalldict(PyObject *self, PyObject *args) +_testcapi_test_pyobject_fastcalldict_impl(PyObject *module, PyObject *func, + PyObject *func_args, + PyObject *kwargs) +/*[clinic end generated code: output=a39da56b27d27212 input=94464574e929fbe5]*/ { - PyObject *func, *func_args, *kwargs; PyObject **stack; Py_ssize_t nargs; - if (!PyArg_ParseTuple(args, "OOO", &func, &func_args, &kwargs)) { - return NULL; - } - if (fastcall_args(func_args, &stack, &nargs) < 0) { return NULL; } @@ -52,17 +61,23 @@ test_pyobject_fastcalldict(PyObject *self, PyObject *args) return PyObject_VectorcallDict(func, stack, nargs, kwargs); } +/*[clinic input] +_testcapi.test_pyobject_vectorcall + func: object + func_args: object + kwnames: object = NULL + / +[clinic start generated code]*/ + static PyObject * -test_pyobject_vectorcall(PyObject *self, PyObject *args) +_testcapi_test_pyobject_vectorcall_impl(PyObject *module, PyObject *func, + PyObject *func_args, + PyObject *kwnames) +/*[clinic end generated code: output=bb25a5410142b848 input=14dd1f8bbc465b49]*/ { - PyObject *func, *func_args, *kwnames = NULL; PyObject **stack; Py_ssize_t nargs, nkw; - if (!PyArg_ParseTuple(args, "OOO", &func, &func_args, &kwnames)) { - return NULL; - } - if (fastcall_args(func_args, &stack, &nargs) < 0) { return NULL; } @@ -103,17 +118,19 @@ function_setvectorcall(PyObject *self, PyObject *func) Py_RETURN_NONE; } +/*[clinic input] +_testcapi.test_pyvectorcall_call + func: object + argstuple: object + kwargs: object = NULL + / +[clinic start generated code]*/ + static PyObject * -test_pyvectorcall_call(PyObject *self, PyObject *args) +_testcapi_test_pyvectorcall_call_impl(PyObject *module, PyObject *func, + PyObject *argstuple, PyObject *kwargs) +/*[clinic end generated code: output=f9f5cbdfe90dd6d6 input=4cc647aa0c81365a]*/ { - PyObject *func; - PyObject *argstuple; - PyObject *kwargs = NULL; - - if (!PyArg_ParseTuple(args, "OO|O", &func, &argstuple, &kwargs)) { - return NULL; - } - if (!PyTuple_Check(argstuple)) { PyErr_SetString(PyExc_TypeError, "args must be a tuple"); return NULL; @@ -242,10 +259,10 @@ _testcapi_has_vectorcall_flag_impl(PyObject *module, PyTypeObject *type) } static PyMethodDef TestMethods[] = { - {"pyobject_fastcalldict", test_pyobject_fastcalldict, METH_VARARGS}, - {"pyobject_vectorcall", test_pyobject_vectorcall, METH_VARARGS}, + _TESTCAPI_TEST_PYOBJECT_FASTCALLDICT_METHODDEF + _TESTCAPI_TEST_PYOBJECT_VECTORCALL_METHODDEF {"function_setvectorcall", function_setvectorcall, METH_O}, - {"pyvectorcall_call", test_pyvectorcall_call, METH_VARARGS}, + _TESTCAPI_TEST_PYVECTORCALL_CALL_METHODDEF _TESTCAPI_MAKE_VECTORCALL_CLASS_METHODDEF _TESTCAPI_HAS_VECTORCALL_FLAG_METHODDEF {NULL}, From 291f92f1e380450cfdc8168d63379829fe4affad Mon Sep 17 00:00:00 2001 From: littlebutt Date: Sun, 9 Jul 2023 14:21:47 +0800 Subject: [PATCH 2/4] fix method names --- Modules/_testcapi/clinic/vectorcall.c.h | 62 ++++++++++++------------- Modules/_testcapi/vectorcall.c | 34 +++++++------- 2 files changed, 45 insertions(+), 51 deletions(-) diff --git a/Modules/_testcapi/clinic/vectorcall.c.h b/Modules/_testcapi/clinic/vectorcall.c.h index 295a4c04633c0c..aa307c86cba03d 100644 --- a/Modules/_testcapi/clinic/vectorcall.c.h +++ b/Modules/_testcapi/clinic/vectorcall.c.h @@ -8,62 +8,59 @@ preserve #endif -PyDoc_STRVAR(_testcapi_test_pyobject_fastcalldict__doc__, -"test_pyobject_fastcalldict($module, func, func_args, kwargs, /)\n" +PyDoc_STRVAR(_testcapi_pyobject_fastcalldict__doc__, +"pyobject_fastcalldict($module, func, func_args, kwargs, /)\n" "--\n" "\n"); -#define _TESTCAPI_TEST_PYOBJECT_FASTCALLDICT_METHODDEF \ - {"test_pyobject_fastcalldict", _PyCFunction_CAST(_testcapi_test_pyobject_fastcalldict), METH_FASTCALL, _testcapi_test_pyobject_fastcalldict__doc__}, +#define _TESTCAPI_PYOBJECT_FASTCALLDICT_METHODDEF \ + {"pyobject_fastcalldict", _PyCFunction_CAST(_testcapi_pyobject_fastcalldict), METH_FASTCALL, _testcapi_pyobject_fastcalldict__doc__}, static PyObject * -_testcapi_test_pyobject_fastcalldict_impl(PyObject *module, PyObject *func, - PyObject *func_args, - PyObject *kwargs); +_testcapi_pyobject_fastcalldict_impl(PyObject *module, PyObject *func, + PyObject *func_args, PyObject *kwargs); static PyObject * -_testcapi_test_pyobject_fastcalldict(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +_testcapi_pyobject_fastcalldict(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; PyObject *func; PyObject *func_args; PyObject *__clinic_kwargs; - if (!_PyArg_CheckPositional("test_pyobject_fastcalldict", nargs, 3, 3)) { + if (!_PyArg_CheckPositional("pyobject_fastcalldict", nargs, 3, 3)) { goto exit; } func = args[0]; func_args = args[1]; __clinic_kwargs = args[2]; - return_value = _testcapi_test_pyobject_fastcalldict_impl(module, func, func_args, __clinic_kwargs); + return_value = _testcapi_pyobject_fastcalldict_impl(module, func, func_args, __clinic_kwargs); exit: return return_value; } -PyDoc_STRVAR(_testcapi_test_pyobject_vectorcall__doc__, -"test_pyobject_vectorcall($module, func, func_args,\n" -" kwnames=, /)\n" +PyDoc_STRVAR(_testcapi_pyobject_vectorcall__doc__, +"pyobject_vectorcall($module, func, func_args, kwnames=None, /)\n" "--\n" "\n"); -#define _TESTCAPI_TEST_PYOBJECT_VECTORCALL_METHODDEF \ - {"test_pyobject_vectorcall", _PyCFunction_CAST(_testcapi_test_pyobject_vectorcall), METH_FASTCALL, _testcapi_test_pyobject_vectorcall__doc__}, +#define _TESTCAPI_PYOBJECT_VECTORCALL_METHODDEF \ + {"pyobject_vectorcall", _PyCFunction_CAST(_testcapi_pyobject_vectorcall), METH_FASTCALL, _testcapi_pyobject_vectorcall__doc__}, static PyObject * -_testcapi_test_pyobject_vectorcall_impl(PyObject *module, PyObject *func, - PyObject *func_args, - PyObject *kwnames); +_testcapi_pyobject_vectorcall_impl(PyObject *module, PyObject *func, + PyObject *func_args, PyObject *kwnames); static PyObject * -_testcapi_test_pyobject_vectorcall(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +_testcapi_pyobject_vectorcall(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; PyObject *func; PyObject *func_args; - PyObject *__clinic_kwnames = NULL; + PyObject *__clinic_kwnames = Py_None; - if (!_PyArg_CheckPositional("test_pyobject_vectorcall", nargs, 2, 3)) { + if (!_PyArg_CheckPositional("pyobject_vectorcall", nargs, 2, 3)) { goto exit; } func = args[0]; @@ -73,34 +70,33 @@ _testcapi_test_pyobject_vectorcall(PyObject *module, PyObject *const *args, Py_s } __clinic_kwnames = args[2]; skip_optional: - return_value = _testcapi_test_pyobject_vectorcall_impl(module, func, func_args, __clinic_kwnames); + return_value = _testcapi_pyobject_vectorcall_impl(module, func, func_args, __clinic_kwnames); exit: return return_value; } -PyDoc_STRVAR(_testcapi_test_pyvectorcall_call__doc__, -"test_pyvectorcall_call($module, func, argstuple,\n" -" kwargs=, /)\n" +PyDoc_STRVAR(_testcapi_pyvectorcall_call__doc__, +"pyvectorcall_call($module, func, argstuple, kwargs=, /)\n" "--\n" "\n"); -#define _TESTCAPI_TEST_PYVECTORCALL_CALL_METHODDEF \ - {"test_pyvectorcall_call", _PyCFunction_CAST(_testcapi_test_pyvectorcall_call), METH_FASTCALL, _testcapi_test_pyvectorcall_call__doc__}, +#define _TESTCAPI_PYVECTORCALL_CALL_METHODDEF \ + {"pyvectorcall_call", _PyCFunction_CAST(_testcapi_pyvectorcall_call), METH_FASTCALL, _testcapi_pyvectorcall_call__doc__}, static PyObject * -_testcapi_test_pyvectorcall_call_impl(PyObject *module, PyObject *func, - PyObject *argstuple, PyObject *kwargs); +_testcapi_pyvectorcall_call_impl(PyObject *module, PyObject *func, + PyObject *argstuple, PyObject *kwargs); static PyObject * -_testcapi_test_pyvectorcall_call(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +_testcapi_pyvectorcall_call(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; PyObject *func; PyObject *argstuple; PyObject *__clinic_kwargs = NULL; - if (!_PyArg_CheckPositional("test_pyvectorcall_call", nargs, 2, 3)) { + if (!_PyArg_CheckPositional("pyvectorcall_call", nargs, 2, 3)) { goto exit; } func = args[0]; @@ -110,7 +106,7 @@ _testcapi_test_pyvectorcall_call(PyObject *module, PyObject *const *args, Py_ssi } __clinic_kwargs = args[2]; skip_optional: - return_value = _testcapi_test_pyvectorcall_call_impl(module, func, argstuple, __clinic_kwargs); + return_value = _testcapi_pyvectorcall_call_impl(module, func, argstuple, __clinic_kwargs); exit: return return_value; @@ -218,4 +214,4 @@ _testcapi_has_vectorcall_flag(PyObject *module, PyObject *arg) exit: return return_value; } -/*[clinic end generated code: output=5960972282b4bd2f input=a9049054013a1b77]*/ +/*[clinic end generated code: output=a7c09c9060137f4a input=a9049054013a1b77]*/ diff --git a/Modules/_testcapi/vectorcall.c b/Modules/_testcapi/vectorcall.c index abf5c24ea770ab..b6adffc04ec25a 100644 --- a/Modules/_testcapi/vectorcall.c +++ b/Modules/_testcapi/vectorcall.c @@ -30,7 +30,7 @@ fastcall_args(PyObject *args, PyObject ***stack, Py_ssize_t *nargs) } /*[clinic input] -_testcapi.test_pyobject_fastcalldict +_testcapi.pyobject_fastcalldict func: object func_args: object kwargs: object @@ -38,10 +38,9 @@ _testcapi.test_pyobject_fastcalldict [clinic start generated code]*/ static PyObject * -_testcapi_test_pyobject_fastcalldict_impl(PyObject *module, PyObject *func, - PyObject *func_args, - PyObject *kwargs) -/*[clinic end generated code: output=a39da56b27d27212 input=94464574e929fbe5]*/ +_testcapi_pyobject_fastcalldict_impl(PyObject *module, PyObject *func, + PyObject *func_args, PyObject *kwargs) +/*[clinic end generated code: output=35902ece94de4418 input=b9c0196ca7d5f9e4]*/ { PyObject **stack; Py_ssize_t nargs; @@ -62,18 +61,17 @@ _testcapi_test_pyobject_fastcalldict_impl(PyObject *module, PyObject *func, } /*[clinic input] -_testcapi.test_pyobject_vectorcall +_testcapi.pyobject_vectorcall func: object func_args: object - kwnames: object = NULL + kwnames: object = None / [clinic start generated code]*/ static PyObject * -_testcapi_test_pyobject_vectorcall_impl(PyObject *module, PyObject *func, - PyObject *func_args, - PyObject *kwnames) -/*[clinic end generated code: output=bb25a5410142b848 input=14dd1f8bbc465b49]*/ +_testcapi_pyobject_vectorcall_impl(PyObject *module, PyObject *func, + PyObject *func_args, PyObject *kwnames) +/*[clinic end generated code: output=ff77245bc6afe0d8 input=c427975e9408ca84]*/ { PyObject **stack; Py_ssize_t nargs, nkw; @@ -119,7 +117,7 @@ function_setvectorcall(PyObject *self, PyObject *func) } /*[clinic input] -_testcapi.test_pyvectorcall_call +_testcapi.pyvectorcall_call func: object argstuple: object kwargs: object = NULL @@ -127,9 +125,9 @@ _testcapi.test_pyvectorcall_call [clinic start generated code]*/ static PyObject * -_testcapi_test_pyvectorcall_call_impl(PyObject *module, PyObject *func, - PyObject *argstuple, PyObject *kwargs) -/*[clinic end generated code: output=f9f5cbdfe90dd6d6 input=4cc647aa0c81365a]*/ +_testcapi_pyvectorcall_call_impl(PyObject *module, PyObject *func, + PyObject *argstuple, PyObject *kwargs) +/*[clinic end generated code: output=809046fe78511306 input=4376ee7cabd698ce]*/ { if (!PyTuple_Check(argstuple)) { PyErr_SetString(PyExc_TypeError, "args must be a tuple"); @@ -259,10 +257,10 @@ _testcapi_has_vectorcall_flag_impl(PyObject *module, PyTypeObject *type) } static PyMethodDef TestMethods[] = { - _TESTCAPI_TEST_PYOBJECT_FASTCALLDICT_METHODDEF - _TESTCAPI_TEST_PYOBJECT_VECTORCALL_METHODDEF + _TESTCAPI_PYOBJECT_FASTCALLDICT_METHODDEF + _TESTCAPI_PYOBJECT_VECTORCALL_METHODDEF {"function_setvectorcall", function_setvectorcall, METH_O}, - _TESTCAPI_TEST_PYVECTORCALL_CALL_METHODDEF + _TESTCAPI_PYVECTORCALL_CALL_METHODDEF _TESTCAPI_MAKE_VECTORCALL_CLASS_METHODDEF _TESTCAPI_HAS_VECTORCALL_FLAG_METHODDEF {NULL}, From fcf998f1f66872a8531c3ed4eb118c1ca3496eb4 Mon Sep 17 00:00:00 2001 From: littlebutt's workshop Date: Sun, 9 Jul 2023 08:01:55 +0000 Subject: [PATCH 3/4] Update Modules/_testcapi/vectorcall.c Co-authored-by: Dong-hee Na --- Modules/_testcapi/vectorcall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/_testcapi/vectorcall.c b/Modules/_testcapi/vectorcall.c index b6adffc04ec25a..442e0ade5189fb 100644 --- a/Modules/_testcapi/vectorcall.c +++ b/Modules/_testcapi/vectorcall.c @@ -64,7 +64,7 @@ _testcapi_pyobject_fastcalldict_impl(PyObject *module, PyObject *func, _testcapi.pyobject_vectorcall func: object func_args: object - kwnames: object = None + kwnames: object / [clinic start generated code]*/ From 5ee06e73de4e0f84d9d4451a2ff1f719bd791d9c Mon Sep 17 00:00:00 2001 From: littlebutt Date: Sun, 9 Jul 2023 16:33:23 +0800 Subject: [PATCH 4/4] run ``build.bat --regen`` to fix CI --- Modules/_testcapi/clinic/vectorcall.c.h | 12 ++++-------- Modules/_testcapi/vectorcall.c | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Modules/_testcapi/clinic/vectorcall.c.h b/Modules/_testcapi/clinic/vectorcall.c.h index aa307c86cba03d..728c0d382565a7 100644 --- a/Modules/_testcapi/clinic/vectorcall.c.h +++ b/Modules/_testcapi/clinic/vectorcall.c.h @@ -41,7 +41,7 @@ _testcapi_pyobject_fastcalldict(PyObject *module, PyObject *const *args, Py_ssiz } PyDoc_STRVAR(_testcapi_pyobject_vectorcall__doc__, -"pyobject_vectorcall($module, func, func_args, kwnames=None, /)\n" +"pyobject_vectorcall($module, func, func_args, kwnames, /)\n" "--\n" "\n"); @@ -58,18 +58,14 @@ _testcapi_pyobject_vectorcall(PyObject *module, PyObject *const *args, Py_ssize_ PyObject *return_value = NULL; PyObject *func; PyObject *func_args; - PyObject *__clinic_kwnames = Py_None; + PyObject *__clinic_kwnames; - if (!_PyArg_CheckPositional("pyobject_vectorcall", nargs, 2, 3)) { + if (!_PyArg_CheckPositional("pyobject_vectorcall", nargs, 3, 3)) { goto exit; } func = args[0]; func_args = args[1]; - if (nargs < 3) { - goto skip_optional; - } __clinic_kwnames = args[2]; -skip_optional: return_value = _testcapi_pyobject_vectorcall_impl(module, func, func_args, __clinic_kwnames); exit: @@ -214,4 +210,4 @@ _testcapi_has_vectorcall_flag(PyObject *module, PyObject *arg) exit: return return_value; } -/*[clinic end generated code: output=a7c09c9060137f4a input=a9049054013a1b77]*/ +/*[clinic end generated code: output=beaf6beac3d13c25 input=a9049054013a1b77]*/ diff --git a/Modules/_testcapi/vectorcall.c b/Modules/_testcapi/vectorcall.c index 442e0ade5189fb..5ee468bd28c853 100644 --- a/Modules/_testcapi/vectorcall.c +++ b/Modules/_testcapi/vectorcall.c @@ -71,7 +71,7 @@ _testcapi.pyobject_vectorcall static PyObject * _testcapi_pyobject_vectorcall_impl(PyObject *module, PyObject *func, PyObject *func_args, PyObject *kwnames) -/*[clinic end generated code: output=ff77245bc6afe0d8 input=c427975e9408ca84]*/ +/*[clinic end generated code: output=ff77245bc6afe0d8 input=a0668dfef625764c]*/ { PyObject **stack; Py_ssize_t nargs, nkw;