Backed out changeset 84853fde4f55 (bug 1111244)

This commit is contained in:
Wes Kocher 2014-12-15 14:53:30 -08:00
parent e78d0b35b8
commit 982f2a93ad
3 changed files with 12 additions and 6 deletions

View File

@ -104,7 +104,7 @@
***********************************************************************/
#define JS_BEGIN_MACRO do {
#if defined(_MSC_VER)
#if defined(_MSC_VER) && _MSC_VER >= 1400
# define JS_END_MACRO \
} __pragma(warning(push)) __pragma(warning(disable:4127)) \
while (0) __pragma(warning(pop))

View File

@ -24,8 +24,14 @@
#include <windef.h>
#include <winbase.h>
#include <mmsystem.h> /* for timeBegin/EndPeriod */
/* VC++ 8.0 or later */
#if _MSC_VER >= 1400
#define NS_HAVE_INVALID_PARAMETER_HANDLER 1
#endif
#ifdef NS_HAVE_INVALID_PARAMETER_HANDLER
#include <crtdbg.h> /* for _CrtSetReportMode */
#include <stdlib.h> /* for _set_invalid_parameter_handler */
#endif
#include "prinit.h"
@ -247,7 +253,7 @@ PRMJ_Now()
}
#endif
#ifdef XP_WIN
#ifdef NS_HAVE_INVALID_PARAMETER_HANDLER
static void
PRMJ_InvalidParameterHandler(const wchar_t *expression,
const wchar_t *function,
@ -267,7 +273,7 @@ PRMJ_FormatTime(char *buf, int buflen, const char *fmt, PRMJTime *prtm)
#if defined(XP_UNIX) || defined(XP_WIN)
struct tm a;
int fake_tm_year = 0;
#ifdef XP_WIN
#ifdef NS_HAVE_INVALID_PARAMETER_HANDLER
_invalid_parameter_handler oldHandler;
int oldReportMode;
#endif
@ -341,14 +347,14 @@ PRMJ_FormatTime(char *buf, int buflen, const char *fmt, PRMJTime *prtm)
* changeover time.)
*/
#ifdef XP_WIN
#ifdef NS_HAVE_INVALID_PARAMETER_HANDLER
oldHandler = _set_invalid_parameter_handler(PRMJ_InvalidParameterHandler);
oldReportMode = _CrtSetReportMode(_CRT_ASSERT, 0);
#endif
result = strftime(buf, buflen, fmt, &a);
#ifdef XP_WIN
#ifdef NS_HAVE_INVALID_PARAMETER_HANDLER
_set_invalid_parameter_handler(oldHandler);
_CrtSetReportMode(_CRT_ASSERT, oldReportMode);
#endif

View File

@ -268,7 +268,7 @@ js::NativeObject::slotInRange(uint32_t slot, SentinelAllowed sentinel) const
}
#endif /* DEBUG */
#if defined(_MSC_VER)
#if defined(_MSC_VER) && _MSC_VER >= 1500
/*
* Work around a compiler bug in MSVC9 and above, where inlining this function
* causes stack pointer offsets to go awry and spp to refer to something higher