https://github.com/python/cpython/commit/978e37bb5f979cccce36613637ac2d94b43c71b2 commit: 978e37bb5f979cccce36613637ac2d94b43c71b2 branch: main author: Victor Stinner <vstin...@python.org> committer: vstinner <vstin...@python.org> date: 2025-03-17T12:32:43+01:00 summary:
gh-131238: Add explicit includes to pycore headers (#131257) files: M Modules/_io/_iomodule.c M Modules/_operator.c M Modules/_posixsubprocess.c M Modules/_zoneinfo.c M Modules/faulthandler.c M Objects/fileobject.c M Parser/action_helpers.c M Parser/asdl_c.py M Parser/tokenizer/file_tokenizer.c M Python/Python-ast.c M Python/ast.c M Python/ast_opt.c M Python/codecs.c M Python/compile.c M Python/dtoa.c M Python/errors.c M Python/importdl.c M Python/marshal.c M Python/perf_jit_trampoline.c M Python/perf_trampoline.c M Python/qsbr.c M Python/symtable.c M Python/thread.c diff --git a/Modules/_io/_iomodule.c b/Modules/_io/_iomodule.c index 015e9e36cada43..bd4d994454dfcd 100644 --- a/Modules/_io/_iomodule.c +++ b/Modules/_io/_iomodule.c @@ -9,7 +9,7 @@ #include "Python.h" #include "pycore_abstract.h" // _PyNumber_Index() -#include "pycore_initconfig.h" // _PyStatus_OK() +#include "pycore_interp.h" // _PyInterpreterState_GetConfig() #include "pycore_long.h" // _PyLong_IsNegative() #include "pycore_pyerrors.h" // _PyErr_ChainExceptions1() #include "pycore_pystate.h" // _PyInterpreterState_GET() diff --git a/Modules/_operator.c b/Modules/_operator.c index c287ea2780c528..1cc05c39f5dbad 100644 --- a/Modules/_operator.c +++ b/Modules/_operator.c @@ -1,8 +1,10 @@ #include "Python.h" #include "pycore_modsupport.h" // _PyArg_NoKwnames() #include "pycore_moduleobject.h" // _PyModule_GetState() -#include "pycore_runtime.h" // _Py_ID() #include "pycore_pystate.h" // _PyInterpreterState_GET() +#include "pycore_tuple.h" // _PyTuple_ITEMS() +#include "pycore_typeobject.h" // _PyType_GetModuleState() +#include "pycore_unicodeobject.h" // _PyUnicode_InternMortal() #include "clinic/_operator.c.h" diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c index ad6d7ceda84e37..8f4b57017635f8 100644 --- a/Modules/_posixsubprocess.c +++ b/Modules/_posixsubprocess.c @@ -4,9 +4,10 @@ #endif #include "Python.h" -#include "pycore_fileutils.h" -#include "pycore_pystate.h" +#include "pycore_interp.h" // _PyInterpreterState_GetFinalizing() +#include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_signal.h" // _Py_RestoreSignals() + #if defined(HAVE_PIPE2) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif diff --git a/Modules/_zoneinfo.c b/Modules/_zoneinfo.c index 8c882bef24867e..7e761b287792e1 100644 --- a/Modules/_zoneinfo.c +++ b/Modules/_zoneinfo.c @@ -6,11 +6,13 @@ #include "pycore_critical_section.h" // _Py_CRITICAL_SECTION_ASSERT_OBJECT_LOCKED() #include "pycore_long.h" // _PyLong_GetOne() #include "pycore_pyerrors.h" // _PyErr_ChainExceptions1() +#include "pycore_typeobject.h" // _PyType_GetModuleState() #include "datetime.h" // PyDateTime_TZInfo #include <stddef.h> // offsetof() -#include <stdint.h> +#include <stdint.h> // int64_t + #include "clinic/_zoneinfo.c.h" /*[clinic input] diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c index fac10190d314da..910de4d34454f8 100644 --- a/Modules/faulthandler.c +++ b/Modules/faulthandler.c @@ -1,8 +1,9 @@ #include "Python.h" -#include "pycore_ceval.h" // _PyEval_IsGILEnabled -#include "pycore_initconfig.h" // _PyStatus_ERR -#include "pycore_pyerrors.h" // _Py_DumpExtensionModules +#include "pycore_ceval.h" // _PyEval_IsGILEnabled() +#include "pycore_initconfig.h" // _PyStatus_ERR() +#include "pycore_pyerrors.h" // _Py_DumpExtensionModules() #include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_runtime.h" // _Py_ID() #include "pycore_signal.h" // Py_NSIG #include "pycore_sysmodule.h" // _PySys_GetRequiredAttr() #include "pycore_time.h" // _PyTime_FromSecondsObject() @@ -28,6 +29,7 @@ # include <sys/auxv.h> // getauxval() #endif + /* Sentinel to ignore all_threads on free-threading */ #define FT_IGNORE_ALL_THREADS 2 diff --git a/Objects/fileobject.c b/Objects/fileobject.c index c9a20ccd75324a..4898e046ff79a6 100644 --- a/Objects/fileobject.c +++ b/Objects/fileobject.c @@ -3,11 +3,13 @@ #include "Python.h" #include "pycore_call.h" // _PyObject_CallNoArgs() #include "pycore_runtime.h" // _PyRuntime +#include "pycore_unicodeobject.h" // _PyUnicode_AsUTF8String() #ifdef HAVE_UNISTD_H # include <unistd.h> // isatty() #endif + #if defined(HAVE_GETC_UNLOCKED) && !defined(_Py_MEMORY_SANITIZER) /* clang MemorySanitizer doesn't yet understand getc_unlocked. */ # define GETC(f) getc_unlocked(f) diff --git a/Parser/action_helpers.c b/Parser/action_helpers.c index 52d63401a6e6b5..88f478af8b2d2d 100644 --- a/Parser/action_helpers.c +++ b/Parser/action_helpers.c @@ -1,9 +1,12 @@ #include <Python.h> #include "pegen.h" -#include "string_parser.h" -#include "pycore_runtime.h" // _PyRuntime +#include "string_parser.h" // _PyPegen_decode_string() + #include "pycore_pystate.h" // _PyInterpreterState_GET() +#include "pycore_runtime.h" // _PyRuntime +#include "pycore_unicodeobject.h" // _PyUnicode_InternImmortal() + void * _PyPegen_dummy_name(Parser *p, ...) diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index 5c8014a47d5177..82d84ac5bde381 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -2273,15 +2273,16 @@ def generate_module_def(mod, metadata, f, internal_h): #include "Python.h" #include "pycore_ast.h" #include "pycore_ast_state.h" // struct ast_state - #include "pycore_ceval.h" // _Py_EnterRecursiveCall + #include "pycore_ceval.h" // _Py_EnterRecursiveCall() #include "pycore_lock.h" // _PyOnceFlag - #include "pycore_interp.h" // _PyInterpreterState.ast #include "pycore_modsupport.h" // _PyArg_NoPositional() #include "pycore_pystate.h" // _PyInterpreterState_GET() - #include "pycore_setobject.h" // _PySet_NextEntry(), _PySet_Update() + #include "pycore_runtime.h" // _Py_ID() + #include "pycore_setobject.h" // _PySet_NextEntry() #include "pycore_unionobject.h" // _Py_union_type_or - #include "structmember.h" - #include <stddef.h> + + #include <stddef.h> // offsetof() + // Forward declaration static int init_types(void *arg); diff --git a/Parser/tokenizer/file_tokenizer.c b/Parser/tokenizer/file_tokenizer.c index efe9fb9b56abaf..15fc9348f8ae56 100644 --- a/Parser/tokenizer/file_tokenizer.c +++ b/Parser/tokenizer/file_tokenizer.c @@ -1,8 +1,9 @@ #include "Python.h" -#include "pycore_call.h" -#include "pycore_import.h" -#include "pycore_fileutils.h" -#include "errcode.h" +#include "pycore_call.h" // _PyObject_CallNoArgs() +#include "pycore_fileutils.h" // _Py_UniversalNewlineFgetsWithSize() +#include "pycore_runtime.h" // _Py_ID() + +#include "errcode.h" // E_NOMEM #ifdef HAVE_UNISTD_H # include <unistd.h> // lseek(), read() @@ -13,6 +14,7 @@ #include "../lexer/lexer.h" #include "../lexer/buffer.h" + static int tok_concatenate_interactive_new_line(struct tok_state *tok, const char *line) { assert(tok->fp_interactive); diff --git a/Python/Python-ast.c b/Python/Python-ast.c index 638e3f67e1cfdd..98dcdc4ed0be70 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -3,15 +3,16 @@ #include "Python.h" #include "pycore_ast.h" #include "pycore_ast_state.h" // struct ast_state -#include "pycore_ceval.h" // _Py_EnterRecursiveCall +#include "pycore_ceval.h" // _Py_EnterRecursiveCall() #include "pycore_lock.h" // _PyOnceFlag -#include "pycore_interp.h" // _PyInterpreterState.ast #include "pycore_modsupport.h" // _PyArg_NoPositional() #include "pycore_pystate.h" // _PyInterpreterState_GET() -#include "pycore_setobject.h" // _PySet_NextEntry(), _PySet_Update() +#include "pycore_runtime.h" // _Py_ID() +#include "pycore_setobject.h" // _PySet_NextEntry() #include "pycore_unionobject.h" // _Py_union_type_or -#include "structmember.h" -#include <stddef.h> + +#include <stddef.h> // offsetof() + // Forward declaration static int init_types(void *arg); diff --git a/Python/ast.c b/Python/ast.c index 597df5b63b5f39..7ee884357b41e8 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -5,9 +5,10 @@ #include "Python.h" #include "pycore_ast.h" // asdl_stmt_seq #include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString() + +#include <stdbool.h> // bool -#include <assert.h> -#include <stdbool.h> #define ENTER_RECURSIVE() \ if (Py_EnterRecursiveCall(" during compilation")) { \ diff --git a/Python/ast_opt.c b/Python/ast_opt.c index 2c6e16817f2aad..12414453c481d7 100644 --- a/Python/ast_opt.c +++ b/Python/ast_opt.c @@ -2,9 +2,8 @@ #include "Python.h" #include "pycore_ast.h" // _PyAST_GetDocString() #include "pycore_format.h" // F_LJUST -#include "pycore_long.h" // _PyLong -#include "pycore_pystate.h" // _PyThreadState_GET() -#include "pycore_setobject.h" // _PySet_NextEntry() +#include "pycore_runtime.h" // _Py_STR() +#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString() typedef struct { diff --git a/Python/codecs.c b/Python/codecs.c index 2453929c8c789a..51f4beb84669c8 100644 --- a/Python/codecs.c +++ b/Python/codecs.c @@ -11,11 +11,12 @@ Copyright (c) Corporation for National Research Initiatives. #include "Python.h" #include "pycore_call.h" // _PyObject_CallNoArgs() #include "pycore_interp.h" // PyInterpreterState.codec_search_path -#include "pycore_lock.h" // PyMutex #include "pycore_pyerrors.h" // _PyErr_FormatNote() #include "pycore_pystate.h" // _PyInterpreterState_GET() +#include "pycore_runtime.h" // _Py_ID() #include "pycore_ucnhash.h" // _PyUnicode_Name_CAPI + static const char *codecs_builtin_error_handlers[] = { "strict", "ignore", "replace", "xmlcharrefreplace", "backslashreplace", "namereplace", diff --git a/Python/compile.c b/Python/compile.c index cd68b897cf6188..a52183ef5156e4 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -15,16 +15,20 @@ */ #include "Python.h" -#include "pycore_ast.h" // PyAST_Check, _PyAST_GetDocString() +#include "pycore_ast.h" // PyAST_Check() +#include "pycore_code.h" // _PyCode_GetFreevars() #include "pycore_compile.h" -#include "pycore_flowgraph.h" +#include "pycore_flowgraph.h" // _PyCfg_FromInstructionSequence() #include "pycore_pystate.h" // _Py_GetConfig() +#include "pycore_runtime.h" // _Py_ID() #include "pycore_setobject.h" // _PySet_NextEntry() +#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString() #include "cpython/code.h" #include <stdbool.h> + #undef SUCCESS #undef ERROR #define SUCCESS 0 diff --git a/Python/dtoa.c b/Python/dtoa.c index 61d776d9a20687..3de150351a4ef8 100644 --- a/Python/dtoa.c +++ b/Python/dtoa.c @@ -119,6 +119,7 @@ #include "Python.h" #include "pycore_dtoa.h" // _PY_SHORT_FLOAT_REPR +#include "pycore_interp_structs.h"// struct Bigint #include "pycore_pystate.h" // _PyInterpreterState_GET() #include <stdlib.h> // exit() diff --git a/Python/errors.c b/Python/errors.c index bf48c107e253a3..d2f331269ed0bc 100644 --- a/Python/errors.c +++ b/Python/errors.c @@ -7,9 +7,11 @@ #include "pycore_initconfig.h" // _PyStatus_ERR() #include "pycore_pyerrors.h" // _PyErr_Format() #include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_runtime.h" // _Py_ID() #include "pycore_structseq.h" // _PyStructSequence_FiniBuiltin() #include "pycore_sysmodule.h" // _PySys_GetOptionalAttr() #include "pycore_traceback.h" // _PyTraceBack_FromFrame() +#include "pycore_unicodeobject.h" // _PyUnicode_Equal() #ifdef MS_WINDOWS # include <windows.h> @@ -17,6 +19,7 @@ # include <stdlib.h> // _sys_nerr #endif + /* Forward declarations */ static PyObject * _PyErr_FormatV(PyThreadState *tstate, PyObject *exception, diff --git a/Python/importdl.c b/Python/importdl.c index 996ca7ed2a3108..87c44891407db5 100644 --- a/Python/importdl.c +++ b/Python/importdl.c @@ -2,13 +2,13 @@ /* Support for dynamic loading of extension modules */ #include "Python.h" -#include "pycore_call.h" -#include "pycore_import.h" +#include "pycore_call.h" // _PyObject_CallMethod() +#include "pycore_import.h" // _PyImport_SwapPackageContext() +#include "pycore_importdl.h" // struct _Py_ext_module_loader_info +#include "pycore_moduleobject.h" // _PyModule_GetDef() #include "pycore_pyerrors.h" // _PyErr_FormatFromCause() -#include "pycore_pystate.h" -#include "pycore_runtime.h" +#include "pycore_runtime.h" // _Py_ID() -#include "pycore_importdl.h" /* ./configure sets HAVE_DYNAMIC_LOADING if dynamic loading of modules is supported on this platform. configure will then compile and link in one diff --git a/Python/marshal.c b/Python/marshal.c index cf7011652513ae..b39c1a5b1ade50 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -9,17 +9,19 @@ #include "Python.h" #include "pycore_call.h" // _PyObject_CallNoArgs() #include "pycore_code.h" // _PyCode_New() -#include "pycore_critical_section.h" // Py_BEGIN_CRITICAL_SECTION() #include "pycore_hashtable.h" // _Py_hashtable_t -#include "pycore_long.h" // _PyLong_DigitCount -#include "pycore_setobject.h" // _PySet_NextEntry() -#include "marshal.h" // Py_MARSHAL_VERSION +#include "pycore_long.h" // _PyLong_IsZero() #include "pycore_pystate.h" // _PyInterpreterState_GET() +#include "pycore_setobject.h" // _PySet_NextEntryRef() +#include "pycore_unicodeobject.h" // _PyUnicode_InternImmortal() + +#include "marshal.h" // Py_MARSHAL_VERSION #ifdef __APPLE__ # include "TargetConditionals.h" #endif /* __APPLE__ */ + /*[clinic input] module marshal [clinic start generated code]*/ diff --git a/Python/perf_jit_trampoline.c b/Python/perf_jit_trampoline.c index 0a8945958b4b3c..1211e0e9f112b7 100644 --- a/Python/perf_jit_trampoline.c +++ b/Python/perf_jit_trampoline.c @@ -2,6 +2,7 @@ #include "pycore_ceval.h" // _PyPerf_Callbacks #include "pycore_frame.h" #include "pycore_interp.h" +#include "pycore_runtime.h" // _PyRuntime #ifdef PY_HAVE_PERF_TRAMPOLINE diff --git a/Python/perf_trampoline.c b/Python/perf_trampoline.c index ad077dc861b0a7..a6a32b98fa9ef5 100644 --- a/Python/perf_trampoline.c +++ b/Python/perf_trampoline.c @@ -133,6 +133,7 @@ any DWARF information available for them). #include "pycore_ceval.h" // _PyPerf_Callbacks #include "pycore_frame.h" #include "pycore_interp.h" +#include "pycore_runtime.h" // _PyRuntime #ifdef PY_HAVE_PERF_TRAMPOLINE diff --git a/Python/qsbr.c b/Python/qsbr.c index 862b2e59eb77d5..bf34fb2523dfc8 100644 --- a/Python/qsbr.c +++ b/Python/qsbr.c @@ -32,10 +32,10 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "Python.h" -#include "pycore_initconfig.h" // _PyStatus_NO_MEMORY() -#include "pycore_lock.h" // PyMutex_Lock() -#include "pycore_qsbr.h" +#include "pycore_interp.h" // PyInterpreterState #include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_qsbr.h" +#include "pycore_tstate.h" // _PyThreadStateImpl // Starting size of the array of qsbr thread states diff --git a/Python/symtable.c b/Python/symtable.c index 4d6384f597f1f0..9e2c0fb7294226 100644 --- a/Python/symtable.c +++ b/Python/symtable.c @@ -2,7 +2,12 @@ #include "pycore_ast.h" // stmt_ty #include "pycore_parser.h" // _PyParser_ASTFromString() #include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_runtime.h" // _Py_ID() #include "pycore_symtable.h" // PySTEntryObject +#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString() + +#include <stddef.h> // offsetof() + // Set this to 1 to dump all symtables to stdout for debugging #define _PY_DUMP_SYMTABLE 0 diff --git a/Python/thread.c b/Python/thread.c index b31d1dc5e770ef..4ff5f11a34852b 100644 --- a/Python/thread.c +++ b/Python/thread.c @@ -8,8 +8,9 @@ #include "Python.h" #include "pycore_ceval.h" // _PyEval_MakePendingCalls() #include "pycore_pystate.h" // _PyInterpreterState_GET() -#include "pycore_structseq.h" // _PyStructSequence_FiniBuiltin() #include "pycore_pythread.h" // _POSIX_THREADS +#include "pycore_runtime.h" // _PyRuntime +#include "pycore_structseq.h" // _PyStructSequence_FiniBuiltin() #ifndef DONT_HAVE_STDIO_H # include <stdio.h> _______________________________________________ Python-checkins mailing list -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com