This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author izbyshev
Recipients atuining, eric.snow, izbyshev, lemburg, serhiy.storchaka, tim.peters, vstinner
Date 2018-11-10.13:19:14
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1541855954.5.0.788709270274.issue35081@psf.upfronthosting.co.za>
In-reply-to
Content
Victor, you moved declarations of some functions to other headers, but didn't include the new headers into files that implement the functions in some cases. For example, _PyGILState_Init was moved into Include/internal/pycore_lifecycle.h in a1c249c40517917d2e0971d55aea8d14a44b2cc8, but it's implemented in Python/pystate.c, which doesn't include the new header.

This may lead to subtle problems because the compiler can't check that signatures of the declaration and the implementation match. I suggest to use -Wmissing-prototypes and -Wmissing-declarations to detect such situations:

../../cpython/Python/pystate.c: At top level:
../../cpython/Python/pystate.c:968:1: warning: no previous prototype for ‘_PyGILState_Init’ [-Wmissing-prototypes]
 _PyGILState_Init(PyInterpreterState *i, PyThreadState *t)
 ^~~~~~~~~~~~~~~~
../../cpython/Python/pystate.c:988:1: warning: no previous prototype for ‘_PyGILState_Fini’ [-Wmissing-prototypes]
 _PyGILState_Fini(void)
 ^~~~~~~~~~~~~~~~

Sadly, there are many other similar issues in Python now, but you can at least compare the number of warnings before and after your changes.
History
Date User Action Args
2018-11-10 13:19:14izbyshevsetrecipients: + izbyshev, lemburg, tim.peters, atuining, vstinner, eric.snow, serhiy.storchaka
2018-11-10 13:19:14izbyshevsetmessageid: <1541855954.5.0.788709270274.issue35081@psf.upfronthosting.co.za>
2018-11-10 13:19:14izbyshevlinkissue35081 messages
2018-11-10 13:19:14izbyshevcreate