diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 41e4659b0f779f..ffb48f148ab0ee 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -787,6 +787,9 @@ Build Changes * The :mod:`tkinter` package now requires Tcl/Tk version 8.5.12 or newer. (Contributed by Serhiy Storchaka in :issue:`46996`.) +* Python.h is now compatible with C++20 compilers. (Contributed by by Hasan + Aliyev in :issue:`39355`.) + C API Changes ============= diff --git a/Include/cpython/import.h b/Include/cpython/import.h index ef6be689468ee5..38f7a5a7961498 100644 --- a/Include/cpython/import.h +++ b/Include/cpython/import.h @@ -7,8 +7,8 @@ PyMODINIT_FUNC PyInit__imp(void); PyAPI_FUNC(int) _PyImport_IsInitialized(PyInterpreterState *); PyAPI_FUNC(PyObject *) _PyImport_GetModuleId(_Py_Identifier *name); -PyAPI_FUNC(int) _PyImport_SetModule(PyObject *name, PyObject *module); -PyAPI_FUNC(int) _PyImport_SetModuleString(const char *name, PyObject* module); +PyAPI_FUNC(int) _PyImport_SetModule(PyObject *name, PyObject *mod); +PyAPI_FUNC(int) _PyImport_SetModuleString(const char *name, PyObject *mod); PyAPI_FUNC(void) _PyImport_AcquireLock(void); PyAPI_FUNC(int) _PyImport_ReleaseLock(void); diff --git a/Include/cpython/warnings.h b/Include/cpython/warnings.h index 2ef8e3ce9435f4..2daa4f97afcffa 100644 --- a/Include/cpython/warnings.h +++ b/Include/cpython/warnings.h @@ -7,13 +7,13 @@ PyAPI_FUNC(int) PyErr_WarnExplicitObject( PyObject *message, PyObject *filename, int lineno, - PyObject *module, + PyObject *mod, PyObject *registry); PyAPI_FUNC(int) PyErr_WarnExplicitFormat( PyObject *category, const char *filename, int lineno, - const char *module, PyObject *registry, + const char *mod, PyObject *registry, const char *format, ...); // DEPRECATED: Use PyErr_WarnEx() instead. diff --git a/Include/modsupport.h b/Include/modsupport.h index 3cfefb413ca55a..f9e6bbbbf7ae2d 100644 --- a/Include/modsupport.h +++ b/Include/modsupport.h @@ -156,7 +156,7 @@ PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, const char *, long); PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, const char *, const char *); #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 /* New in 3.9 */ -PyAPI_FUNC(int) PyModule_AddType(PyObject *module, PyTypeObject *type); +PyAPI_FUNC(int) PyModule_AddType(PyObject *mod, PyTypeObject *type); #endif /* Py_LIMITED_API */ #define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c) #define PyModule_AddStringMacro(m, c) PyModule_AddStringConstant(m, #c, c) @@ -165,7 +165,7 @@ PyAPI_FUNC(int) PyModule_AddType(PyObject *module, PyTypeObject *type); /* New in 3.5 */ PyAPI_FUNC(int) PyModule_SetDocString(PyObject *, const char *); PyAPI_FUNC(int) PyModule_AddFunctions(PyObject *, PyMethodDef *); -PyAPI_FUNC(int) PyModule_ExecDef(PyObject *module, PyModuleDef *def); +PyAPI_FUNC(int) PyModule_ExecDef(PyObject *mod, PyModuleDef *def); #endif #define Py_CLEANUP_SUPPORTED 0x20000 diff --git a/Include/warnings.h b/Include/warnings.h index 18ac1543a3ca9e..c18098ea6f9a81 100644 --- a/Include/warnings.h +++ b/Include/warnings.h @@ -29,7 +29,7 @@ PyAPI_FUNC(int) PyErr_WarnExplicit( const char *message, /* UTF-8 encoded string */ const char *filename, /* decoded from the filesystem encoding */ int lineno, - const char *module, /* UTF-8 encoded string */ + const char *mod, /* UTF-8 encoded string */ PyObject *registry); #ifndef Py_LIMITED_API diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-02-11-18-51-11.bpo-39355.rcUPdT.rst b/Misc/NEWS.d/next/Core and Builtins/2022-02-11-18-51-11.bpo-39355.rcUPdT.rst new file mode 100644 index 00000000000000..50bef8217622a9 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-02-11-18-51-11.bpo-39355.rcUPdT.rst @@ -0,0 +1 @@ +Make Python.h compatible with C++20 compilers.