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 James Salter
Recipients James Salter
Date 2015-07-16.13:51:19
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1437054680.06.0.553712434946.issue24643@psf.upfronthosting.co.za>
In-reply-to
Content
For python 3.5, PC/pyconfig.h contains the following for vs2015 support:

/* VS 2015 defines these names with a leading underscore */
#if _MSC_VER >= 1900
#define timezone _timezone
#define daylight _daylight
#define tzname _tzname
#endif

This breaks any python extension code that includes pyconfig.h and then defines any function or variable called 'timezone', 'daylight', or 'tzname'.

My breaking case is a conflict with <ucrt/sys/timeb.h> from the Windows 10 kit (for me: c:\program files (x86)\Windows Kits\10\include\10.0.10056.0\ucrt\sys\timeb.h). This is used during compilation of gevent, which includes that file via libev/ev_win32.c. timeb.h contains this innocent structure:

struct __timeb32
{
    __time32_t     time;
    unsigned short millitm;
    short          timezone;
    short          dstflag;
};

I think we need a different approach that doesn't conflict with common english variable names and in particular other windows SDK includes.
History
Date User Action Args
2015-07-16 13:51:20James Saltersetrecipients: + James Salter
2015-07-16 13:51:20James Saltersetmessageid: <1437054680.06.0.553712434946.issue24643@psf.upfronthosting.co.za>
2015-07-16 13:51:20James Salterlinkissue24643 messages
2015-07-16 13:51:19James Saltercreate