Disable SEH for mingw-w64

The SEH implementation is not quite working properly in mingw-w64, so
disable it for the time being.
This commit is contained in:
martell 2015-02-07 00:40:26 +00:00 committed by jp9000
parent 5d184dc8e5
commit a83e74dc1c
2 changed files with 10 additions and 1 deletions

View file

@ -192,6 +192,9 @@ struct vs_threadname_info {
void os_set_thread_name(const char *name)
{
#ifdef __MINGW32__
UNUSED_PARAMETER(name);
#else
struct vs_threadname_info info;
info.type = 0x1000;
info.name = name;
@ -211,4 +214,5 @@ void os_set_thread_name(const char *name)
} __except(EXCEPTION_EXECUTE_HANDLER) {
#endif
}
#endif
}

View file

@ -20,14 +20,19 @@
static inline int safe_memcmp(const void *p1, const void *p2, size_t size)
{
// Disabled exceptions on mingw-w64 as it is broken
#ifndef __MINGW32__
#ifdef NO_SEH_MINGW
__try1(EXCEPTION_EXECUTE_HANDLER)
#else
__try
#endif
#endif
{
return memcmp(p1, p2, size);
}
// Disabled exceptions on mingw-w64 as it is broken
#ifndef __MINGW32__
#ifdef NO_SEH_MINGW
__except1
#else
@ -36,7 +41,7 @@ static inline int safe_memcmp(const void *p1, const void *p2, size_t size)
{
return -1;
}
#endif
}
struct patch_info {