diff options
author | nahyeon <55136494+nahyeon-an@users.noreply.github.com> | 2023-08-12 00:57:35 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-12 00:57:35 (GMT) |
commit | 2e27da18952c6561f48dab706b5911135cedd7cf (patch) | |
tree | 461593e40b1d6b1ee6d9c67dbb5396a524d17774 /Modules/_testcapi | |
parent | d93b4ac2ff7bce07fb1c8805f43838818598191c (diff) | |
download | cpython-2e27da18952c6561f48dab706b5911135cedd7cf.zip cpython-2e27da18952c6561f48dab706b5911135cedd7cf.tar.gz cpython-2e27da18952c6561f48dab706b5911135cedd7cf.tar.bz2 |
gh-104469 : Convert _testcapi/vectorcall_limited.c to use AC (gh-107857)
Diffstat (limited to 'Modules/_testcapi')
-rw-r--r-- | Modules/_testcapi/clinic/vectorcall_limited.c.h | 42 | ||||
-rw-r--r-- | Modules/_testcapi/vectorcall_limited.c | 30 |
2 files changed, 68 insertions, 4 deletions
diff --git a/Modules/_testcapi/clinic/vectorcall_limited.c.h b/Modules/_testcapi/clinic/vectorcall_limited.c.h new file mode 100644 index 0000000..bc89f58 --- /dev/null +++ b/Modules/_testcapi/clinic/vectorcall_limited.c.h @@ -0,0 +1,42 @@ +/*[clinic input] +preserve +[clinic start generated code]*/ + +#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# include "pycore_gc.h" // PyGC_Head +# include "pycore_runtime.h" // _Py_ID() +#endif + + +#if defined(LIMITED_API_AVAILABLE) + +PyDoc_STRVAR(_testcapi_call_vectorcall__doc__, +"call_vectorcall($module, callable, /)\n" +"--\n" +"\n"); + +#define _TESTCAPI_CALL_VECTORCALL_METHODDEF \ + {"call_vectorcall", (PyCFunction)_testcapi_call_vectorcall, METH_O, _testcapi_call_vectorcall__doc__}, + +#endif /* defined(LIMITED_API_AVAILABLE) */ + +#if defined(LIMITED_API_AVAILABLE) + +PyDoc_STRVAR(_testcapi_call_vectorcall_method__doc__, +"call_vectorcall_method($module, callable, /)\n" +"--\n" +"\n"); + +#define _TESTCAPI_CALL_VECTORCALL_METHOD_METHODDEF \ + {"call_vectorcall_method", (PyCFunction)_testcapi_call_vectorcall_method, METH_O, _testcapi_call_vectorcall_method__doc__}, + +#endif /* defined(LIMITED_API_AVAILABLE) */ + +#ifndef _TESTCAPI_CALL_VECTORCALL_METHODDEF + #define _TESTCAPI_CALL_VECTORCALL_METHODDEF +#endif /* !defined(_TESTCAPI_CALL_VECTORCALL_METHODDEF) */ + +#ifndef _TESTCAPI_CALL_VECTORCALL_METHOD_METHODDEF + #define _TESTCAPI_CALL_VECTORCALL_METHOD_METHODDEF +#endif /* !defined(_TESTCAPI_CALL_VECTORCALL_METHOD_METHODDEF) */ +/*[clinic end generated code: output=409028b637aba77b input=a9049054013a1b77]*/ diff --git a/Modules/_testcapi/vectorcall_limited.c b/Modules/_testcapi/vectorcall_limited.c index a96925e..9f02c7a 100644 --- a/Modules/_testcapi/vectorcall_limited.c +++ b/Modules/_testcapi/vectorcall_limited.c @@ -1,5 +1,6 @@ #define Py_LIMITED_API 0x030c0000 // 3.12 #include "parts.h" +#include "clinic/vectorcall_limited.c.h" #ifdef LIMITED_API_AVAILABLE @@ -7,6 +8,11 @@ /* Test Vectorcall in the limited API */ +/*[clinic input] +module _testcapi +[clinic start generated code]*/ +/*[clinic end generated code: output=da39a3ee5e6b4b0d input=6361033e795369fc]*/ + static PyObject * LimitedVectorCallClass_tpcall(PyObject *self, PyObject *args, PyObject *kwargs) { return PyUnicode_FromString("tp_call called"); @@ -32,8 +38,16 @@ LimitedVectorCallClass_new(PyTypeObject *tp, PyTypeObject *a, PyTypeObject *kw) return self; } +/*[clinic input] +_testcapi.call_vectorcall + + callable: object + / +[clinic start generated code]*/ + static PyObject * -call_vectorcall(PyObject* self, PyObject *callable) +_testcapi_call_vectorcall(PyObject *module, PyObject *callable) +/*[clinic end generated code: output=bae81eec97fcaad7 input=55d88f92240957ee]*/ { PyObject *args[3] = { NULL, NULL, NULL }; PyObject *kwname = NULL, *kwnames = NULL, *result = NULL; @@ -77,8 +91,16 @@ leave: return result; } +/*[clinic input] +_testcapi.call_vectorcall_method + + callable: object + / +[clinic start generated code]*/ + static PyObject * -call_vectorcall_method(PyObject* self, PyObject *callable) +_testcapi_call_vectorcall_method(PyObject *module, PyObject *callable) +/*[clinic end generated code: output=e661f48dda08b6fb input=5ba81c27511395b6]*/ { PyObject *args[3] = { NULL, NULL, NULL }; PyObject *name = NULL, *kwname = NULL, @@ -153,8 +175,8 @@ static PyType_Spec LimitedVectorCallClass_spec = { }; static PyMethodDef TestMethods[] = { - {"call_vectorcall", call_vectorcall, METH_O}, - {"call_vectorcall_method", call_vectorcall_method, METH_O}, + _TESTCAPI_CALL_VECTORCALL_METHODDEF + _TESTCAPI_CALL_VECTORCALL_METHOD_METHODDEF {NULL}, }; |