From 2c5c9c27def1b8fa76fcec01e6c89e719ac13653 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 3 Oct 2010 17:16:15 +0000 Subject: [PATCH] Disable the use of __thread with MinGW. __thread keyword doesn't work correctly with at least some MinGW builds and in particular TLS unit tests failed with the official 4.4 version. Disable the use of __thread with MinGW entirely for now to be sure that the generated code behaves correctly. In the future we should white list the known good versions of MinGW and/or use run-time test for __thread support in configure instead of compile-time one only. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/tls.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/wx/tls.h b/include/wx/tls.h index bd4e9bad7a..f91368d503 100644 --- a/include/wx/tls.h +++ b/include/wx/tls.h @@ -22,10 +22,10 @@ #if !wxUSE_THREADS #define wxHAS_COMPILER_TLS #define wxTHREAD_SPECIFIC_DECL -// __thread keyword is supported if configure detected it or when using mingw32 -// >= 4.3 which is known to have it too -#elif defined(HAVE___THREAD_KEYWORD) || \ - (defined(__MINGW32__) && wxCHECK_GCC_VERSION(4, 3)) +// __thread keyword is not supported correctly by MinGW, at least in some +// configurations, see http://sourceforge.net/support/tracker.php?aid=2837047 +// and when in doubt we prefer to not use it at all. +#elif defined(HAVE___THREAD_KEYWORD) && !defined(__MINGW32__) #define wxHAS_COMPILER_TLS #define wxTHREAD_SPECIFIC_DECL __thread // MSVC has its own version which might be supported by some other Windows -- 2.45.2