From 5dbd9d2a19540c932134325320650b21ebebcf77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Fru=C5=BCy=C5=84ski?= Date: Sat, 31 Dec 2016 12:01:28 +0100 Subject: [PATCH] Include new changes conditionally for MinGW only to not break MSVC build --- lib/diagnostics.cpp | 5 +++++ lib/diagnostics_win.h | 12 ++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/diagnostics.cpp b/lib/diagnostics.cpp index 93fd9b2387..fddd6ca367 100644 --- a/lib/diagnostics.cpp +++ b/lib/diagnostics.cpp @@ -371,8 +371,13 @@ int diagnostics_init( #if defined(_WIN32) //_set_abort_behavior(NULL, _WRITE_ABORT_MSG); +#ifdef __MINGW32__ std::set_terminate(boinc_term_func); std::set_unexpected(boinc_term_func); +#else + set_terminate(boinc_term_func); + set_unexpected(boinc_term_func); +#endif #if defined(_DEBUG) diff --git a/lib/diagnostics_win.h b/lib/diagnostics_win.h index e81a8767fe..a6f6a5fc2e 100644 --- a/lib/diagnostics_win.h +++ b/lib/diagnostics_win.h @@ -27,8 +27,7 @@ typedef LONG NTSTATUS; typedef LONG KPRIORITY; //MinGW-W64 defines this struct in its own header -#define HAVE_CLIENT_ID 1 -#ifndef HAVE_CLIENT_ID +#if !defined(HAVE_CLIENT_ID) && !defined(__MINGW32__) typedef struct _CLIENT_ID { DWORD UniqueProcess; DWORD UniqueThread; @@ -36,8 +35,7 @@ typedef struct _CLIENT_ID { #endif //MinGW-W64 defines this struct in its own header -#define HAVE_VM_COUNTERS 1 -#ifndef HAVE_VM_COUNTERS +#if !defined(HAVE_VM_COUNTERS) && !defined(__MINGW32__) typedef struct _VM_COUNTERS { #ifdef _WIN64 // the following was inferred by painful reverse engineering @@ -69,8 +67,7 @@ typedef struct _VM_COUNTERS { #endif //MinGW-W64 defines this struct in its own header -#define HAVE_SYSTEM_THREADS 1 -#ifndef HAVE_SYSTEM_THREADS +#if !defined(HAVE_SYSTEM_THREADS) && !defined(__MINGW32__) typedef struct _SYSTEM_THREADS { LARGE_INTEGER KernelTime; LARGE_INTEGER UserTime; @@ -115,8 +112,7 @@ typedef struct _SYSTEM_PROCESSES { #endif //MinGW-W64 defines this struct in its own header -#define HAVE_THREAD_STATE 1 -#ifndef HAVE_THREAD_STATE +#if !defined(HAVE_THREAD_STATE) && !defined(__MINGW32__) typedef enum _THREAD_STATE { StateInitialized, StateReady,