bpo-32240: Add the const qualifier to declarations of PyObject* array arguments. (#4746)
diff --git a/Include/abstract.h b/Include/abstract.h
index 8969019..991c1c3 100644
--- a/Include/abstract.h
+++ b/Include/abstract.h
@@ -157,11 +157,11 @@
#ifndef Py_LIMITED_API
PyAPI_FUNC(PyObject*) _PyStack_AsTuple(
- PyObject **stack,
+ PyObject *const *stack,
Py_ssize_t nargs);
PyAPI_FUNC(PyObject*) _PyStack_AsTupleSlice(
- PyObject **stack,
+ PyObject *const *stack,
Py_ssize_t nargs,
Py_ssize_t start,
Py_ssize_t end);
@@ -177,7 +177,7 @@
an exception, the caller is responsible to implement an explicit keys on
kwnames. */
PyAPI_FUNC(PyObject *) _PyStack_AsDict(
- PyObject **values,
+ PyObject *const *values,
PyObject *kwnames);
/* Convert (args, nargs, kwargs: dict) into a (stack, nargs, kwnames: tuple).
@@ -192,10 +192,10 @@
The type of keyword keys is not checked, these checks should be done
later (ex: _PyArg_ParseStackAndKeywords). */
PyAPI_FUNC(int) _PyStack_UnpackDict(
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs,
PyObject *kwargs,
- PyObject ***p_stack,
+ PyObject *const **p_stack,
PyObject **p_kwnames);
/* Suggested size (number of positional arguments) for arrays of PyObject*
@@ -224,7 +224,7 @@
error. */
PyAPI_FUNC(PyObject *) _PyObject_FastCallDict(
PyObject *callable,
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs,
PyObject *kwargs);
@@ -245,7 +245,7 @@
error. */
PyAPI_FUNC(PyObject *) _PyObject_FastCallKeywords(
PyObject *callable,
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs,
PyObject *kwnames);
@@ -264,7 +264,7 @@
PyAPI_FUNC(PyObject *) _PyObject_FastCall_Prepend(
PyObject *callable,
PyObject *obj,
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs);
PyAPI_FUNC(PyObject *) _Py_CheckFunctionResult(PyObject *callable,
diff --git a/Include/descrobject.h b/Include/descrobject.h
index cb43174..73bbb3f 100644
--- a/Include/descrobject.h
+++ b/Include/descrobject.h
@@ -92,7 +92,7 @@
#ifndef Py_LIMITED_API
PyAPI_FUNC(PyObject *) _PyMethodDescr_FastCallKeywords(
- PyObject *descrobj, PyObject **stack, Py_ssize_t nargs, PyObject *kwnames);
+ PyObject *descrobj, PyObject *const *stack, Py_ssize_t nargs, PyObject *kwnames);
PyAPI_FUNC(PyObject *) PyDescr_NewWrapper(PyTypeObject *,
struct wrapperbase *, void *);
#define PyDescr_IsData(d) (Py_TYPE(d)->tp_descr_set != NULL)
diff --git a/Include/eval.h b/Include/eval.h
index 9541e10..2c1c2d0 100644
--- a/Include/eval.h
+++ b/Include/eval.h
@@ -12,19 +12,19 @@
PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyObject *co,
PyObject *globals,
PyObject *locals,
- PyObject **args, int argc,
- PyObject **kwds, int kwdc,
- PyObject **defs, int defc,
+ PyObject *const *args, int argc,
+ PyObject *const *kwds, int kwdc,
+ PyObject *const *defs, int defc,
PyObject *kwdefs, PyObject *closure);
#ifndef Py_LIMITED_API
PyAPI_FUNC(PyObject *) _PyEval_EvalCodeWithName(
PyObject *co,
PyObject *globals, PyObject *locals,
- PyObject **args, Py_ssize_t argcount,
- PyObject **kwnames, PyObject **kwargs,
+ PyObject *const *args, Py_ssize_t argcount,
+ PyObject *const *kwnames, PyObject *const *kwargs,
Py_ssize_t kwcount, int kwstep,
- PyObject **defs, Py_ssize_t defcount,
+ PyObject *const *defs, Py_ssize_t defcount,
PyObject *kwdefs, PyObject *closure,
PyObject *name, PyObject *qualname);
diff --git a/Include/funcobject.h b/Include/funcobject.h
index 89305dc..86674ac 100644
--- a/Include/funcobject.h
+++ b/Include/funcobject.h
@@ -61,13 +61,13 @@
#ifndef Py_LIMITED_API
PyAPI_FUNC(PyObject *) _PyFunction_FastCallDict(
PyObject *func,
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs,
PyObject *kwargs);
PyAPI_FUNC(PyObject *) _PyFunction_FastCallKeywords(
PyObject *func,
- PyObject **stack,
+ PyObject *const *stack,
Py_ssize_t nargs,
PyObject *kwnames);
#endif
diff --git a/Include/methodobject.h b/Include/methodobject.h
index 66e6a55..ea35d86 100644
--- a/Include/methodobject.h
+++ b/Include/methodobject.h
@@ -16,11 +16,11 @@
#define PyCFunction_Check(op) (Py_TYPE(op) == &PyCFunction_Type)
typedef PyObject *(*PyCFunction)(PyObject *, PyObject *);
-typedef PyObject *(*_PyCFunctionFast) (PyObject *, PyObject **, Py_ssize_t);
+typedef PyObject *(*_PyCFunctionFast) (PyObject *, PyObject *const *, Py_ssize_t);
typedef PyObject *(*PyCFunctionWithKeywords)(PyObject *, PyObject *,
PyObject *);
typedef PyObject *(*_PyCFunctionFastWithKeywords) (PyObject *,
- PyObject **, Py_ssize_t,
+ PyObject *const *, Py_ssize_t,
PyObject *);
typedef PyObject *(*PyNoArgsFunction)(PyObject *);
@@ -43,12 +43,12 @@
#ifndef Py_LIMITED_API
PyAPI_FUNC(PyObject *) _PyCFunction_FastCallDict(PyObject *func,
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs,
PyObject *kwargs);
PyAPI_FUNC(PyObject *) _PyCFunction_FastCallKeywords(PyObject *func,
- PyObject **stack,
+ PyObject *const *stack,
Py_ssize_t nargs,
PyObject *kwnames);
#endif
@@ -110,14 +110,14 @@
PyAPI_FUNC(PyObject *) _PyMethodDef_RawFastCallDict(
PyMethodDef *method,
PyObject *self,
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs,
PyObject *kwargs);
PyAPI_FUNC(PyObject *) _PyMethodDef_RawFastCallKeywords(
PyMethodDef *method,
PyObject *self,
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs,
PyObject *kwnames);
#endif
diff --git a/Include/modsupport.h b/Include/modsupport.h
index 73d86a9..a238bef 100644
--- a/Include/modsupport.h
+++ b/Include/modsupport.h
@@ -52,7 +52,7 @@
#ifndef Py_LIMITED_API
PyAPI_FUNC(int) _PyArg_UnpackStack(
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs,
const char *name,
Py_ssize_t min,
@@ -99,12 +99,12 @@
PyAPI_FUNC(int) _PyArg_ParseTupleAndKeywordsFast(PyObject *, PyObject *,
struct _PyArg_Parser *, ...);
PyAPI_FUNC(int) _PyArg_ParseStack(
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs,
const char *format,
...);
PyAPI_FUNC(int) _PyArg_ParseStackAndKeywords(
- PyObject **args,
+ PyObject *const *args,
Py_ssize_t nargs,
PyObject *kwnames,
struct _PyArg_Parser *,
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
index 61e713b..0274de6 100644
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -1979,7 +1979,7 @@
#ifndef Py_LIMITED_API
PyAPI_FUNC(PyObject *) _PyUnicode_JoinArray(
PyObject *separator,
- PyObject **items,
+ PyObject *const *items,
Py_ssize_t seqlen
);
#endif /* Py_LIMITED_API */