Bug 1460645 Avoid the thread_local keyword for MinGW and instead use __thread r?froydnj
MozReview-Commit-ID: 5RPwQVatThs
--- a/mfbt/ThreadLocal.h
+++ b/mfbt/ThreadLocal.h
@@ -232,17 +232,17 @@ ThreadLocal<T, Storage>::set(const T aVa
{
MOZ_ASSERT(Storage<T>::initialized());
bool succeeded = Storage<T>::set(aValue);
if (!succeeded) {
MOZ_CRASH();
}
}
-#if defined(XP_WIN) || defined(MACOSX_HAS_THREAD_LOCAL)
+#if (defined(XP_WIN) || defined(MACOSX_HAS_THREAD_LOCAL)) && !defined(__MINGW32__)
#define MOZ_THREAD_LOCAL(TYPE) thread_local mozilla::detail::ThreadLocal<TYPE, mozilla::detail::ThreadLocalNativeStorage>
#elif defined(HAVE_THREAD_TLS_KEYWORD)
#define MOZ_THREAD_LOCAL(TYPE) __thread mozilla::detail::ThreadLocal<TYPE, mozilla::detail::ThreadLocalNativeStorage>
#else
#define MOZ_THREAD_LOCAL(TYPE) mozilla::detail::ThreadLocal<TYPE, mozilla::detail::ThreadLocalKeyStorage>
#endif
} // namespace detail