windows: fix mingw32/debug build
Debug build failed on mingw32 because CRT assertion disable code was stubbed out. Replace __declspec(thread) with UV_THREAD_LOCAL which is defined as __thread on GCC.
This commit is contained in:
parent
d3c30aa276
commit
fe8322d27c
@ -26,9 +26,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#if !defined(__MINGW32__)
|
|
||||||
#include <crtdbg.h>
|
#include <crtdbg.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "uv.h"
|
#include "uv.h"
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
@ -44,11 +42,11 @@ static uv_once_t uv_init_guard_ = UV_ONCE_INIT;
|
|||||||
static uv_once_t uv_default_loop_init_guard_ = UV_ONCE_INIT;
|
static uv_once_t uv_default_loop_init_guard_ = UV_ONCE_INIT;
|
||||||
|
|
||||||
|
|
||||||
#if defined(_DEBUG) && !defined(__MINGW32__)
|
#if defined(_DEBUG)
|
||||||
/* Our crt debug report handler allows us to temporarily disable asserts */
|
/* Our crt debug report handler allows us to temporarily disable asserts */
|
||||||
/* just for the current thread. */
|
/* just for the current thread. */
|
||||||
|
|
||||||
__declspec( thread ) int uv__crt_assert_enabled = TRUE;
|
UV_THREAD_LOCAL int uv__crt_assert_enabled = TRUE;
|
||||||
|
|
||||||
static int uv__crt_dbg_report_handler(int report_type, char *message, int *ret_val) {
|
static int uv__crt_dbg_report_handler(int report_type, char *message, int *ret_val) {
|
||||||
if (uv__crt_assert_enabled || report_type != _CRT_ASSERT)
|
if (uv__crt_assert_enabled || report_type != _CRT_ASSERT)
|
||||||
|
|||||||
@ -31,13 +31,16 @@
|
|||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
# define INLINE __inline
|
# define INLINE __inline
|
||||||
|
# define UV_THREAD_LOCAL __declspec( thread )
|
||||||
#else
|
#else
|
||||||
# define INLINE inline
|
# define INLINE inline
|
||||||
|
# define UV_THREAD_LOCAL __thread
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
extern __declspec( thread ) int uv__crt_assert_enabled;
|
|
||||||
|
extern UV_THREAD_LOCAL int uv__crt_assert_enabled;
|
||||||
|
|
||||||
#define UV_BEGIN_DISABLE_CRT_ASSERT() \
|
#define UV_BEGIN_DISABLE_CRT_ASSERT() \
|
||||||
{ \
|
{ \
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user