summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2023-07-03 09:39:11 (GMT)
committerGitHub <noreply@github.com>2023-07-03 09:39:11 (GMT)
commit35963da40fb7bc93c55d94caf58ff9e268df951d (patch)
tree06f5c1ef62c3f23351ecc9de7caf260f42a4c937 /Include
parent5ccbbe5bb9a659fa8f2fe551428c84cc14015f44 (diff)
downloadcpython-35963da40fb7bc93c55d94caf58ff9e268df951d.zip
cpython-35963da40fb7bc93c55d94caf58ff9e268df951d.tar.gz
cpython-35963da40fb7bc93c55d94caf58ff9e268df951d.tar.bz2
gh-106320: Create pycore_modsupport.h header file (#106355)
Remove the following functions from the C API, move them to the internal C API: add a new pycore_modsupport.h internal header file: * PyModule_CreateInitialized() * _PyArg_NoKwnames() * _Py_VaBuildStack() No longer export these functions.
Diffstat (limited to 'Include')
-rw-r--r--Include/cpython/modsupport.h12
-rw-r--r--Include/internal/pycore_modsupport.h29
2 files changed, 29 insertions, 12 deletions
diff --git a/Include/cpython/modsupport.h b/Include/cpython/modsupport.h
index a5d95d1..376336b 100644
--- a/Include/cpython/modsupport.h
+++ b/Include/cpython/modsupport.h
@@ -11,12 +11,9 @@ PyAPI_FUNC(int) _PyArg_UnpackStack(
...);
PyAPI_FUNC(int) _PyArg_NoKeywords(const char *funcname, PyObject *kwargs);
-PyAPI_FUNC(int) _PyArg_NoKwnames(const char *funcname, PyObject *kwnames);
PyAPI_FUNC(int) _PyArg_NoPositional(const char *funcname, PyObject *args);
#define _PyArg_NoKeywords(funcname, kwargs) \
((kwargs) == NULL || _PyArg_NoKeywords((funcname), (kwargs)))
-#define _PyArg_NoKwnames(funcname, kwnames) \
- ((kwnames) == NULL || _PyArg_NoKwnames((funcname), (kwnames)))
#define _PyArg_NoPositional(funcname, args) \
((args) == NULL || _PyArg_NoPositional((funcname), (args)))
@@ -29,13 +26,6 @@ PyAPI_FUNC(int) _PyArg_CheckPositional(const char *, Py_ssize_t,
((!_Py_ANY_VARARGS(max) && (min) <= (nargs) && (nargs) <= (max)) \
|| _PyArg_CheckPositional((funcname), (nargs), (min), (max)))
-PyAPI_FUNC(PyObject **) _Py_VaBuildStack(
- PyObject **small_stack,
- Py_ssize_t small_stack_len,
- const char *format,
- va_list va,
- Py_ssize_t *p_nargs);
-
typedef struct _PyArg_Parser {
int initialized;
const char *format;
@@ -83,5 +73,3 @@ PyAPI_FUNC(PyObject * const *) _PyArg_UnpackKeywordsWithVararg(
(minpos) <= (nargs) && (nargs) <= (maxpos) && (args) != NULL) ? (args) : \
_PyArg_UnpackKeywords((args), (nargs), (kwargs), (kwnames), (parser), \
(minpos), (maxpos), (minkw), (buf)))
-
-PyAPI_FUNC(PyObject *) _PyModule_CreateInitialized(PyModuleDef*, int apiver);
diff --git a/Include/internal/pycore_modsupport.h b/Include/internal/pycore_modsupport.h
new file mode 100644
index 0000000..e577c6b
--- /dev/null
+++ b/Include/internal/pycore_modsupport.h
@@ -0,0 +1,29 @@
+#ifndef Py_INTERNAL_MODSUPPORT_H
+#define Py_INTERNAL_MODSUPPORT_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef Py_BUILD_CORE
+# error "this header requires Py_BUILD_CORE define"
+#endif
+
+
+extern int _PyArg_NoKwnames(const char *funcname, PyObject *kwnames);
+#define _PyArg_NoKwnames(funcname, kwnames) \
+ ((kwnames) == NULL || _PyArg_NoKwnames((funcname), (kwnames)))
+
+extern PyObject ** _Py_VaBuildStack(
+ PyObject **small_stack,
+ Py_ssize_t small_stack_len,
+ const char *format,
+ va_list va,
+ Py_ssize_t *p_nargs);
+
+extern PyObject* _PyModule_CreateInitialized(PyModuleDef*, int apiver);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // !Py_INTERNAL_MODSUPPORT_H
+