mirror of
https://github.com/python/cpython.git
synced 2025-12-31 04:23:37 +00:00
gh-110964: Remove private _PyArg functions (#110966)
Move the following private functions and structures to pycore_modsupport.h internal C API: * _PyArg_BadArgument() * _PyArg_CheckPositional() * _PyArg_NoKeywords() * _PyArg_NoPositional() * _PyArg_ParseStack() * _PyArg_ParseStackAndKeywords() * _PyArg_Parser structure * _PyArg_UnpackKeywords() * _PyArg_UnpackKeywordsWithVararg() * _PyArg_UnpackStack() * _Py_ANY_VARARGS() Changes: * Python/getargs.h now includes pycore_modsupport.h to export functions. * clinic.py now adds pycore_modsupport.h when one of these functions is used. * Add pycore_modsupport.h includes when a C extension uses one of these functions. * Define Py_BUILD_CORE_MODULE in C extensions which now include directly or indirectly (via code generated by Argument Clinic) pycore_modsupport.h: * _csv * _curses_panel * _dbm * _gdbm * _multiprocessing.posixshmem * _sqlite.row * _statistics * grp * resource * syslog * _testcapi: bad_get() no longer uses METH_FASTCALL calling convention but METH_VARARGS. Replace _PyArg_UnpackStack() with PyArg_ParseTuple(). * _testcapi: add PYTESTCAPI_NEED_INTERNAL_API macro which is defined by _testcapi sub-modules which need the internal C API (pycore_modsupport.h): exceptions.c, float.c, vectorcall.c, watchers.c. * Remove Include/cpython/modsupport.h header file. Include/modsupport.h no longer includes the removed header file. * Fix mypy clinic.py
This commit is contained in:
parent
054f496bd4
commit
be5e8a0103
166 changed files with 511 additions and 229 deletions
|
|
@ -8,6 +8,11 @@
|
|||
// Version history
|
||||
// 2022-08: Initial contribution (Steve Dower)
|
||||
|
||||
// clinic/_wmimodule.cpp.h uses internal pycore_modsupport.h API
|
||||
#ifndef Py_BUILD_CORE_BUILTIN
|
||||
# define Py_BUILD_CORE_MODULE 1
|
||||
#endif
|
||||
|
||||
#define _WIN32_DCOM
|
||||
#include <Windows.h>
|
||||
#include <comdef.h>
|
||||
|
|
|
|||
3
PC/clinic/_testconsole.c.h
generated
3
PC/clinic/_testconsole.c.h
generated
|
|
@ -6,6 +6,7 @@ preserve
|
|||
# include "pycore_gc.h" // PyGC_Head
|
||||
# include "pycore_runtime.h" // _Py_ID()
|
||||
#endif
|
||||
#include "pycore_modsupport.h" // _PyArg_UnpackKeywords()
|
||||
|
||||
#if defined(MS_WINDOWS)
|
||||
|
||||
|
|
@ -139,4 +140,4 @@ exit:
|
|||
#ifndef _TESTCONSOLE_READ_OUTPUT_METHODDEF
|
||||
#define _TESTCONSOLE_READ_OUTPUT_METHODDEF
|
||||
#endif /* !defined(_TESTCONSOLE_READ_OUTPUT_METHODDEF) */
|
||||
/*[clinic end generated code: output=f59fe72cd4e73704 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=08a1c844b3657272 input=a9049054013a1b77]*/
|
||||
|
|
|
|||
3
PC/clinic/_wmimodule.cpp.h
generated
3
PC/clinic/_wmimodule.cpp.h
generated
|
|
@ -6,6 +6,7 @@ preserve
|
|||
# include "pycore_gc.h" // PyGC_Head
|
||||
# include "pycore_runtime.h" // _Py_ID()
|
||||
#endif
|
||||
#include "pycore_modsupport.h" // _PyArg_UnpackKeywords()
|
||||
|
||||
PyDoc_STRVAR(_wmi_exec_query__doc__,
|
||||
"exec_query($module, /, query)\n"
|
||||
|
|
@ -68,4 +69,4 @@ _wmi_exec_query(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObj
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=53821e597fc2aca4 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=ba04920d127f3ceb input=a9049054013a1b77]*/
|
||||
|
|
|
|||
4
PC/clinic/msvcrtmodule.c.h
generated
4
PC/clinic/msvcrtmodule.c.h
generated
|
|
@ -2,6 +2,8 @@
|
|||
preserve
|
||||
[clinic start generated code]*/
|
||||
|
||||
#include "pycore_modsupport.h" // _PyArg_CheckPositional()
|
||||
|
||||
PyDoc_STRVAR(msvcrt_heapmin__doc__,
|
||||
"heapmin($module, /)\n"
|
||||
"--\n"
|
||||
|
|
@ -695,4 +697,4 @@ exit:
|
|||
#ifndef MSVCRT_GETERRORMODE_METHODDEF
|
||||
#define MSVCRT_GETERRORMODE_METHODDEF
|
||||
#endif /* !defined(MSVCRT_GETERRORMODE_METHODDEF) */
|
||||
/*[clinic end generated code: output=525ec6ac4e3cb4f2 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=de9687b46212c2ed input=a9049054013a1b77]*/
|
||||
|
|
|
|||
3
PC/clinic/winreg.c.h
generated
3
PC/clinic/winreg.c.h
generated
|
|
@ -7,6 +7,7 @@ preserve
|
|||
# include "pycore_runtime.h" // _Py_ID()
|
||||
#endif
|
||||
#include "pycore_long.h" // _PyLong_UnsignedLong_Converter()
|
||||
#include "pycore_modsupport.h" // _PyArg_CheckPositional()
|
||||
|
||||
#if (defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM) || defined(MS_WINDOWS_GAMES))
|
||||
|
||||
|
|
@ -1761,4 +1762,4 @@ exit:
|
|||
#ifndef WINREG_QUERYREFLECTIONKEY_METHODDEF
|
||||
#define WINREG_QUERYREFLECTIONKEY_METHODDEF
|
||||
#endif /* !defined(WINREG_QUERYREFLECTIONKEY_METHODDEF) */
|
||||
/*[clinic end generated code: output=d7ae41899af53d7c input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=1ee4098b2f143b6a input=a9049054013a1b77]*/
|
||||
|
|
|
|||
3
PC/clinic/winsound.c.h
generated
3
PC/clinic/winsound.c.h
generated
|
|
@ -6,6 +6,7 @@ preserve
|
|||
# include "pycore_gc.h" // PyGC_Head
|
||||
# include "pycore_runtime.h" // _Py_ID()
|
||||
#endif
|
||||
#include "pycore_modsupport.h" // _PyArg_UnpackKeywords()
|
||||
|
||||
PyDoc_STRVAR(winsound_PlaySound__doc__,
|
||||
"PlaySound($module, /, sound, flags)\n"
|
||||
|
|
@ -205,4 +206,4 @@ skip_optional_pos:
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=21584101f656198f input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=191d4fb1542c7abf input=a9049054013a1b77]*/
|
||||
|
|
|
|||
|
|
@ -35,6 +35,11 @@
|
|||
winsound.PlaySound(None, 0)
|
||||
*/
|
||||
|
||||
// clinic/winsound.c.h uses internal pycore_modsupport.h API
|
||||
#ifndef Py_BUILD_CORE_BUILTIN
|
||||
# define Py_BUILD_CORE_MODULE 1
|
||||
#endif
|
||||
|
||||
#include <Python.h>
|
||||
#include <windows.h>
|
||||
#include <mmsystem.h>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue