bpo-24643: Fix "#define timezone _timezone" clashes on Windows (GH-12019)
This commit is contained in:
parent
aadef2b416
commit
6673decfa0
|
@ -0,0 +1 @@
|
||||||
|
Fix name collisions due to ``#define timezone _timezone`` in PC/pyconfig.h.
|
|
@ -38,6 +38,16 @@
|
||||||
# include <sanitizer/msan_interface.h>
|
# include <sanitizer/msan_interface.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#define _Py_timezone _timezone
|
||||||
|
#define _Py_daylight _daylight
|
||||||
|
#define _Py_tzname _tzname
|
||||||
|
#else
|
||||||
|
#define _Py_timezone timezone
|
||||||
|
#define _Py_daylight daylight
|
||||||
|
#define _Py_tzname tzname
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SEC_TO_NS (1000 * 1000 * 1000)
|
#define SEC_TO_NS (1000 * 1000 * 1000)
|
||||||
|
|
||||||
/* Forward declarations */
|
/* Forward declarations */
|
||||||
|
@ -1600,18 +1610,18 @@ init_timezone(PyObject *m)
|
||||||
#ifdef HAVE_DECL_TZNAME
|
#ifdef HAVE_DECL_TZNAME
|
||||||
PyObject *otz0, *otz1;
|
PyObject *otz0, *otz1;
|
||||||
tzset();
|
tzset();
|
||||||
PyModule_AddIntConstant(m, "timezone", timezone);
|
PyModule_AddIntConstant(m, "timezone", _Py_timezone);
|
||||||
#ifdef HAVE_ALTZONE
|
#ifdef HAVE_ALTZONE
|
||||||
PyModule_AddIntConstant(m, "altzone", altzone);
|
PyModule_AddIntConstant(m, "altzone", altzone);
|
||||||
#else
|
#else
|
||||||
PyModule_AddIntConstant(m, "altzone", timezone-3600);
|
PyModule_AddIntConstant(m, "altzone", _Py_timezone-3600);
|
||||||
#endif
|
#endif
|
||||||
PyModule_AddIntConstant(m, "daylight", daylight);
|
PyModule_AddIntConstant(m, "daylight", _Py_daylight);
|
||||||
otz0 = PyUnicode_DecodeLocale(tzname[0], "surrogateescape");
|
otz0 = PyUnicode_DecodeLocale(_Py_tzname[0], "surrogateescape");
|
||||||
if (otz0 == NULL) {
|
if (otz0 == NULL) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
otz1 = PyUnicode_DecodeLocale(tzname[1], "surrogateescape");
|
otz1 = PyUnicode_DecodeLocale(_Py_tzname[1], "surrogateescape");
|
||||||
if (otz1 == NULL) {
|
if (otz1 == NULL) {
|
||||||
Py_DECREF(otz0);
|
Py_DECREF(otz0);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -192,13 +192,6 @@ typedef int pid_t;
|
||||||
#define Py_IS_FINITE(X) _finite(X)
|
#define Py_IS_FINITE(X) _finite(X)
|
||||||
#define copysign _copysign
|
#define copysign _copysign
|
||||||
|
|
||||||
/* VS 2015 defines these names with a leading underscore */
|
|
||||||
#if _MSC_VER >= 1900
|
|
||||||
#define timezone _timezone
|
|
||||||
#define daylight _daylight
|
|
||||||
#define tzname _tzname
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Side by Side assemblies supported in VS 2005 and VS 2008 but not 2010*/
|
/* Side by Side assemblies supported in VS 2005 and VS 2008 but not 2010*/
|
||||||
#if _MSC_VER >= 1400 && _MSC_VER < 1600
|
#if _MSC_VER >= 1400 && _MSC_VER < 1600
|
||||||
#define HAVE_SXS 1
|
#define HAVE_SXS 1
|
||||||
|
|
Loading…
Reference in New Issue