mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
Fix build problems with the platform SDK on windows. It is not sufficient to test for the C compiler version when determining if we have the secure CRT from microsoft. Must test with an undocumented macro, __STDC_SECURE_LIB__ too.
This commit is contained in:
parent
2eda1b78f9
commit
74c3ea0a0f
3 changed files with 5 additions and 5 deletions
|
|
@ -1967,7 +1967,7 @@ static PyMethodDef functions[] = {
|
|||
if (PyDict_SetItemString(bdict, # TYPE, PyExc_ ## TYPE)) \
|
||||
Py_FatalError("Module dictionary insertion problem.");
|
||||
|
||||
#if defined _MSC_VER && _MSC_VER >= 1400
|
||||
#if defined _MSC_VER && _MSC_VER >= 1400 && defined(__STDC_SECURE_LIB__)
|
||||
/* crt variable checking in VisualStudio .NET 2005 */
|
||||
#include <crtdbg.h>
|
||||
|
||||
|
|
@ -2120,7 +2120,7 @@ _PyExc_Init(void)
|
|||
|
||||
Py_DECREF(bltinmod);
|
||||
|
||||
#if defined _MSC_VER && _MSC_VER >= 1400
|
||||
#if defined _MSC_VER && _MSC_VER >= 1400 && defined(__STDC_SECURE_LIB__)
|
||||
/* Set CRT argument error handler */
|
||||
prevCrtHandler = _set_invalid_parameter_handler(InvalidParameterHandler);
|
||||
/* turn off assertions in debug mode */
|
||||
|
|
@ -2133,7 +2133,7 @@ _PyExc_Fini(void)
|
|||
{
|
||||
Py_XDECREF(PyExc_MemoryErrorInst);
|
||||
PyExc_MemoryErrorInst = NULL;
|
||||
#if defined _MSC_VER && _MSC_VER >= 1400
|
||||
#if defined _MSC_VER && _MSC_VER >= 1400 && defined(__STDC_SECURE_LIB__)
|
||||
/* reset CRT error handling */
|
||||
_set_invalid_parameter_handler(prevCrtHandler);
|
||||
_CrtSetReportMode(_CRT_ASSERT, prevCrtReportMode);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue