aboutsummaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-09-14 15:13:43 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-09-14 15:13:43 +0200
commitf7c9c07973ff5a1041036478fcae87f77457d737 (patch)
tree53c048a7b1f9a06af8d3ce029ac77451a5beeb8f /m4
parentf7bf16d50f6f08c66b1bae35e2dab327d560b0f3 (diff)
Use __thread keyword if available
Diffstat (limited to 'm4')
-rw-r--r--m4/threads.m420
1 files changed, 20 insertions, 0 deletions
diff --git a/m4/threads.m4 b/m4/threads.m4
index 7c32abe..ea547c0 100644
--- a/m4/threads.m4
+++ b/m4/threads.m4
@@ -5,6 +5,8 @@ dnl license : GNU GPL v2; see accompanying LICENSE file
dnl
AC_DEFUN([THREADS],[
+threads_thread_keyword=no
+
AC_ARG_ENABLE(
[threads],
AS_HELP_STRING([--disable-threads], [disable threads (enabled by default)]),
@@ -30,6 +32,24 @@ if test x$threads = xcheck; then
threads=posix
LIBS="$LIBS $PTHREAD_LIBS"
CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS"
+
+ # Check if we can use the __thread keyword.
+ #
+ AC_MSG_CHECKING([for __thread keyword])
+
+ CXX_LIBTOOL_LINK_IFELSE(
+ AC_LANG_SOURCE([[
+ __thread int tls_var;
+
+ int
+ main ()
+ {
+ tls_var = 0;
+ }
+ ]]),
+ [threads_thread_keyword=yes])
+
+ AC_MSG_RESULT([$threads_thread_keyword])
fi
;;
esac