Don't rely on __had_feature for g++.

Don't use __thread.
Only use thread_local for gcc 4.8 or newer.
This commit is contained in:
Rasmus Munk Larsen 2018-08-23 12:59:46 -07:00
parent 668690978f
commit e9f9d70611

View File

@ -12,10 +12,10 @@
#undef EIGEN_THREAD_LOCAL
#if EIGEN_MAX_CPP_VER>=11 && (__has_feature(cxx_thread_local))
#if EIGEN_MAX_CPP_VER >= 11 && \
((EIGEN_COMP_GNUC && EIGEN_GNUC_AT_LEAST(4, 8)) || \
__has_feature(cxx_thread_local))
#define EIGEN_THREAD_LOCAL static thread_local
#elif (EIGEN_COMP_GNUC && EIGEN_GNUC_AT_MOST(4, 7)) || EIGEN_COMP_CLANG
#define EIGEN_THREAD_LOCAL static __thread
#endif
// Disable TLS for Apple and Android builds with older toolchains.