bpo-32030: Fix compiler warnings (#4921)

Fix compiler warnings in Py_FinalizeEx(): only define variables if
they are needed, add #ifdef.

Other cleanup changes:

* _PyWarnings_InitWithConfig() is no more needed: call
  _PyWarnings_Init() instead.
* Inline pymain_init_main_interpreter() in its caller. This
  subfunction is no more justifed.
This commit is contained in:
Victor Stinner 2017-12-19 11:35:58 +01:00 committed by GitHub
parent 21be85f520
commit 5d8624647d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 40 deletions

View file

@ -1173,7 +1173,7 @@ create_filter(PyObject *category, _Py_Identifier *id)
static PyObject *
init_filters(const _PyCoreConfig *config)
init_filters(void)
{
#ifdef Py_DEBUG
/* Py_DEBUG builds show all warnings by default */
@ -1218,8 +1218,8 @@ static struct PyModuleDef warningsmodule = {
};
PyObject*
_PyWarnings_InitWithConfig(const _PyCoreConfig *config)
PyMODINIT_FUNC
_PyWarnings_Init(void)
{
PyObject *m;
@ -1228,7 +1228,7 @@ _PyWarnings_InitWithConfig(const _PyCoreConfig *config)
return NULL;
if (_PyRuntime.warnings.filters == NULL) {
_PyRuntime.warnings.filters = init_filters(config);
_PyRuntime.warnings.filters = init_filters();
if (_PyRuntime.warnings.filters == NULL)
return NULL;
}
@ -1259,12 +1259,3 @@ _PyWarnings_InitWithConfig(const _PyCoreConfig *config)
_PyRuntime.warnings.filters_version = 0;
return m;
}
PyMODINIT_FUNC
_PyWarnings_Init(void)
{
PyInterpreterState *interp = PyThreadState_GET()->interp;
const _PyCoreConfig *config = &interp->core_config;
return _PyWarnings_InitWithConfig(config);
}