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 vstinner
Recipients Alex.Willmer, benjamin.peterson, martin.panter, ned.deily, python-dev, ronaldoussoren, vstinner, xdegaye, yan12125
Date 2017-02-06.13:30:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1486387829.15.0.639132620182.issue27659@psf.upfronthosting.co.za>
In-reply-to
Content
Martin Panter: "If there is an obscure platform where we don’t include the right header file for a function, changing the warning into an error would cause the build to fail."

In my experience, calling a function which was not declared is very likely to cause a bug, or a crash in the worst case. For example, on 64-bit, if the return type is a pointer, the C compiler uses the int type by default, whereas a pointer is 32-bit, not 64-bit, and so it will immediately crash.

Martin: "If we do make it an error, it should only be so for 3.7."

Ok. I pushed the patch to Python 3.6.


@Chi Hsuan Yen: Thanks for the patch! Is this change enough to fix the crypt build issue? If yes, can we close the issue?

It is likely that the cause causes compilation errors on some platforms where we call non-existent functions or call functions with a missing header. IMHO it's a good thing to get a build error rather than a crash at runtime.

A concrete issue is that the compilation of the curses module will probably fails now on Solaris: issue #13552, whereas before the build only emitted warnings. The curses module is broken for years on Solaris, and it seems like nobody is able to fix it, so it's not a big deal.
History
Date User Action Args
2017-02-06 13:30:29vstinnersetrecipients: + vstinner, ronaldoussoren, benjamin.peterson, ned.deily, xdegaye, python-dev, martin.panter, Alex.Willmer, yan12125
2017-02-06 13:30:29vstinnersetmessageid: <1486387829.15.0.639132620182.issue27659@psf.upfronthosting.co.za>
2017-02-06 13:30:29vstinnerlinkissue27659 messages
2017-02-06 13:30:28vstinnercreate