extern unsigned long wxGlobalSEHandler(EXCEPTION_POINTERS *pExcPtrs);
// helper macro for wxSEH_HANDLE
-#if defined(__VISUALC__) && (__VISUALC__ <= 1200)
+#if defined(__BORLANDC__) || (defined(__VISUALC__) && (__VISUALC__ <= 1200))
// some compilers don't understand that this code is unreachable and warn
// about no value being returned from the function without it, so calm them
// down
#define wxSEH_HANDLE(rc)
#endif // wxUSE_ON_FATAL_EXCEPTION
-#if defined(__VISUALC__) && !defined(__WXWINCE__)
+#if wxUSE_ON_FATAL_EXCEPTION && defined(__VISUALC__) && !defined(__WXWINCE__)
#include <eh.h>
// C++ exception to structured exceptions translator: we need it in order
// 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 11 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
+ // 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__ < 1800
#pragma warning(disable: 4535)
#endif