[Pixman] [PATCH] Fix thread safety on mingw-w64 and clang
Benjamin Gilbert
bgilbert at cs.cmu.edu
Sun Dec 2 19:36:52 PST 2012
This is a slightly cleaner fix to the preference-order portion of bug
57591. It does not attempt to detect when __declspec(thread) is being
ignored by the compiler, so is insufficient in general, but it should
fix the problem for the compilers currently under discussion.
--Benjamin Gilbert
8<---------
After finding a working TLS storage class specifier, configure was
continuing to test other candidates. This caused it to prefer
__declspec(thread) over __thread. However, __declspec(thread) is
ignored with a warning by mingw-w64 [1] and silently ignored by clang [2].
The resulting binary behaved as if PIXMAN_NO_TLS was defined.
Bug introduced by a069da6c.
[1] https://bugs.freedesktop.org/show_bug.cgi?id=57591
[2] http://lists.freedesktop.org/archives/pixman/2012-October/002320.html
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 45b709d..81f068d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -860,7 +860,7 @@ AC_CACHE_VAL(ac_cv_tls, [
#error OpenBSD has broken __thread support
#endif
-int $kw test;], [], ac_cv_tls=$kw)
+int $kw test;], [], [ac_cv_tls=$kw; break])
done
])
AC_MSG_RESULT($ac_cv_tls)
--
1.7.11.7
More information about the Pixman
mailing list