gh-107603: Argument Clinic: Only include pycore_gc.h if needed (#108726)

Argument Clinic now only includes pycore_gc.h if PyGC_Head is needed,
and only includes pycore_runtime.h if _Py_ID() is needed.

* Add 'condition' optional argument to Clinic.add_include().
* deprecate_keyword_use() includes pycore_runtime.h when using
  the _PyID() function.
* Fix rendering of includes: comments start at the column 35.
* Mark PC/clinic/_wmimodule.cpp.h and
  "Objects/stringlib/clinic/*.h.h" header files as generated in
  .gitattributes.

Effects:

* 42 header files generated by AC no longer include the internal C
  API, instead of 4 header files before. For example,
  Modules/clinic/_abc.c.h no longer includes the internal C API.
* Fix _testclinic_depr.c.h: it now always includes pycore_runtime.h
  to get _Py_ID().
This commit is contained in:
Victor Stinner 2023-08-31 23:42:34 +02:00 committed by GitHub
parent 2bd960b579
commit ad73674283
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
131 changed files with 448 additions and 727 deletions

View file

@ -3,11 +3,10 @@ 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()
# include "pycore_gc.h" // PyGC_Head
# include "pycore_runtime.h" // _Py_ID()
#endif
#if defined(MS_WINDOWS)
PyDoc_STRVAR(_testconsole_write_input__doc__,
@ -140,4 +139,4 @@ exit:
#ifndef _TESTCONSOLE_READ_OUTPUT_METHODDEF
#define _TESTCONSOLE_READ_OUTPUT_METHODDEF
#endif /* !defined(_TESTCONSOLE_READ_OUTPUT_METHODDEF) */
/*[clinic end generated code: output=208c72e2c873555b input=a9049054013a1b77]*/
/*[clinic end generated code: output=f59fe72cd4e73704 input=a9049054013a1b77]*/

View file

@ -3,11 +3,10 @@ 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()
# include "pycore_gc.h" // PyGC_Head
# include "pycore_runtime.h" // _Py_ID()
#endif
PyDoc_STRVAR(_wmi_exec_query__doc__,
"exec_query($module, /, query)\n"
"--\n"
@ -69,4 +68,4 @@ _wmi_exec_query(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObj
exit:
return return_value;
}
/*[clinic end generated code: output=923d09bee1d15c5f input=a9049054013a1b77]*/
/*[clinic end generated code: output=53821e597fc2aca4 input=a9049054013a1b77]*/

View file

@ -2,12 +2,6 @@
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
PyDoc_STRVAR(msvcrt_heapmin__doc__,
"heapmin($module, /)\n"
"--\n"
@ -701,4 +695,4 @@ exit:
#ifndef MSVCRT_GETERRORMODE_METHODDEF
#define MSVCRT_GETERRORMODE_METHODDEF
#endif /* !defined(MSVCRT_GETERRORMODE_METHODDEF) */
/*[clinic end generated code: output=f70de1b6d0e700cd input=a9049054013a1b77]*/
/*[clinic end generated code: output=97e00f191821d4c0 input=a9049054013a1b77]*/

9
PC/clinic/winreg.c.h generated
View file

@ -3,11 +3,10 @@ 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()
# include "pycore_gc.h" // PyGC_Head
# include "pycore_runtime.h" // _Py_ID()
#endif
#include "pycore_long.h" // _PyLong_UnsignedLong_Converter()
#include "pycore_long.h" // _PyLong_UnsignedLong_Converter()
#if (defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM) || defined(MS_WINDOWS_GAMES))
@ -1762,4 +1761,4 @@ exit:
#ifndef WINREG_QUERYREFLECTIONKEY_METHODDEF
#define WINREG_QUERYREFLECTIONKEY_METHODDEF
#endif /* !defined(WINREG_QUERYREFLECTIONKEY_METHODDEF) */
/*[clinic end generated code: output=2431b1b06b148722 input=a9049054013a1b77]*/
/*[clinic end generated code: output=d7ae41899af53d7c input=a9049054013a1b77]*/

View file

@ -3,11 +3,10 @@ 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()
# include "pycore_gc.h" // PyGC_Head
# include "pycore_runtime.h" // _Py_ID()
#endif
PyDoc_STRVAR(winsound_PlaySound__doc__,
"PlaySound($module, /, sound, flags)\n"
"--\n"
@ -206,4 +205,4 @@ skip_optional_pos:
exit:
return return_value;
}
/*[clinic end generated code: output=e63a6516d7a55cb8 input=a9049054013a1b77]*/
/*[clinic end generated code: output=21584101f656198f input=a9049054013a1b77]*/