summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2015-06-09 17:43:38 -0700
committerThiago Macieira <thiago.macieira@intel.com>2015-06-22 22:52:40 +0000
commit4ce05c608410f2574e92bc6c65ad5c830b66b12f (patch)
tree59e38e0fe3baf382f1aebc982b158e13691c640c
parent741a7aef585b07f3510dc5566b390c6124640e65 (diff)
Disable C++11 thread_local with ICC on OS X
It appears the ABI is lacking support for this at this point in time, even though __thread works. ICC 15 works, probably by making it an alias to __thread, but neither ICC 16 beta nor Clang work with thread_local. Intel-bug: DPD200371699 Intel-ID: 6000107242 Change-Id: I049a653beeb5454c9539ffff13e639bdb83b8843 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-rw-r--r--src/corelib/global/qcompilerdetection.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h
index f8a8a436be..50dfe84403 100644
--- a/src/corelib/global/qcompilerdetection.h
+++ b/src/corelib/global/qcompilerdetection.h
@@ -556,7 +556,10 @@
# define Q_COMPILER_ALIGNAS
# define Q_COMPILER_ALIGNOF
# define Q_COMPILER_INHERITING_CONSTRUCTORS
-# define Q_COMPILER_THREAD_LOCAL
+# ifndef Q_OS_OSX
+// C++11 thread_local is broken on OS X (Clang doesn't support it either)
+# define Q_COMPILER_THREAD_LOCAL
+# endif
# define Q_COMPILER_UDL
# endif
# endif