// as division by 0 or access violation) to C++ pseudo-exceptions
extern void wxSETranslator(unsigned int code, EXCEPTION_POINTERS *ep);
- // up to VC 7.1 this warning ("calling _set_se_translator() requires /EHa")
+ // up to VC 9 this warning ("calling _set_se_translator() requires /EHa")
// is harmless and it's easier to suppress it than use different makefiles
// for VC5 and 6 (which don't support /EHa at all) and VC7 (which does
// accept it but it seems to change nothing for it anyhow)
- #if __VISUALC__ <= 1310
+ #if __VISUALC__ < 1600
#pragma warning(disable: 4535)
#endif
// OnFatalException() if necessary
#if wxUSE_ON_FATAL_EXCEPTION
-#if defined(__VISUALC__) && !defined(__WXWINCE__)
- // VC++ (at least from 4.0 up to version 7.1) is incredibly broken in that
- // a "catch ( ... )" will *always* catch SEH exceptions in it even though
- // it should have never been the case... to prevent such catches from
- // stealing the exceptions from our wxGlobalSEHandler which is only called
- // if the exception is not handled elsewhere, we have to also call it from
- // a special SEH translator function which is called by VC CRT when a Win32
- // exception occurs
-
- // this warns that /EHa (async exceptions) should be used when using
- // _set_se_translator but, in fact, this doesn't seem to change anything
- // with VC++ up to 8.0
- #if _MSC_VER <= 1400
- #pragma warning(disable:4535)
- #endif
-
- // note that the SE translator must be called wxSETranslator!
- #define DisableAutomaticSETranslator() _set_se_translator(wxSETranslator)
-#else // !__VISUALC__
- #define DisableAutomaticSETranslator()
-#endif // __VISUALC__/!__VISUALC__
-
// global pointer to exception information, only valid inside OnFatalException,
// used by wxStackWalker and wxCrashReport
extern EXCEPTION_POINTERS *wxGlobalSEInformation = NULL;