summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2023-09-25 11:24:19 (GMT)
committerGitHub <noreply@github.com>2023-09-25 11:24:19 (GMT)
commit8c521f090eb58cd9e141fa3b13babe59a1c19519 (patch)
tree1625508d8fe567224f4ebbd3390664c7b5ddbd8a
parentf2eaa92b0cc5a37a9e6010c7c6f5ad1a230ea49b (diff)
downloadcpython-8c521f090eb58cd9e141fa3b13babe59a1c19519.zip
cpython-8c521f090eb58cd9e141fa3b13babe59a1c19519.tar.gz
cpython-8c521f090eb58cd9e141fa3b13babe59a1c19519.tar.bz2
gh-104469: Convert _testcapi/vectorcall_limited.c to use AC (#109691)
Co-authored-by: nahyeon <55136494+nahyeon-an@users.noreply.github.com>
-rw-r--r--Modules/_testcapi/clinic/vectorcall_limited.c.h20
-rw-r--r--Modules/_testcapi/vectorcall_limited.c32
2 files changed, 47 insertions, 5 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..a233aef
--- /dev/null
+++ b/Modules/_testcapi/clinic/vectorcall_limited.c.h
@@ -0,0 +1,20 @@
+/*[clinic input]
+preserve
+[clinic start generated code]*/
+
+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__},
+
+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__},
+/*[clinic end generated code: output=e980906a39602528 input=a9049054013a1b77]*/
diff --git a/Modules/_testcapi/vectorcall_limited.c b/Modules/_testcapi/vectorcall_limited.c
index e981c86..3e81903 100644
--- a/Modules/_testcapi/vectorcall_limited.c
+++ b/Modules/_testcapi/vectorcall_limited.c
@@ -1,7 +1,13 @@
+/* Test Vectorcall in the limited API */
+
#define Py_LIMITED_API 0x030c0000 // 3.12
#include "parts.h"
+#include "clinic/vectorcall_limited.c.h"
-/* 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) {
@@ -28,8 +34,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;
@@ -73,8 +87,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,
@@ -149,8 +171,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},
};