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 bwanamarko
Recipients bwanamarko
Date 2018-09-13.06:10:52
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1536819052.42.0.956365154283.issue34657@psf.upfronthosting.co.za>
In-reply-to
Content
TL;DR: if PC user compiles source which defines "timezone" in a header, and includes Python.h after the header, then the macro also called "timezone" in pyconfig.h will redefine the users source, yielding unexpected results.

see Cython google group for an actual use case where this occurred:
https://groups.google.com/forum/#!topic/cython-users/pjbhYrpl_rU

trying to compile NREL SPA code which has a header file with a struct with a timezone field fails with the following traceback:
spa.h(88): error C2032: '__timezone': function cannot be member of struct '<anonymous-tag>'

here's the macro in PC/pyconfig.h in master as of 5489bdad
https://github.com/python/cpython/blob/5489bdad5143050b8bb89b648b3c00d951b72d4f/PC/pyconfig.h#L202

/* VS 2015 defines these names with a leading underscore */
#if _MSC_VER >= 1900
#define timezone _timezone
#define daylight _daylight
#define tzname _tzname
#endif
History
Date User Action Args
2018-09-13 06:10:52bwanamarkosetrecipients: + bwanamarko
2018-09-13 06:10:52bwanamarkosetmessageid: <1536819052.42.0.956365154283.issue34657@psf.upfronthosting.co.za>
2018-09-13 06:10:52bwanamarkolinkissue34657 messages
2018-09-13 06:10:52bwanamarkocreate