diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2017-12-23 22:51:42 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2017-12-23 22:51:42 +0200 |
commit | ebc76f93985365d33c789c202b523e6b859e85b6 (patch) | |
tree | 9c5eb3376e0a018d7fd9bdbf4a9669772e65a717 | |
parent | 2e8a5e0be7b2db179018c10248a6cc64f9db3314 (diff) | |
download | gdbm-ebc76f93985365d33c789c202b523e6b859e85b6.tar.gz |
Complement c175231e
* configure.ac: Check whether __thread qualifier is supported
* src/gdbmerrno.c (gdbm_errno_storage): Use GDBM_THREAD_LOCAL instead
of __thread.
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | src/gdbmerrno.c | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 944fa7c..f172f8a 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ m4_define([_GDBM_VERSION_MAJOR], 1) m4_define([_GDBM_VERSION_MINOR], 13) -dnl m4_define([_GDBM_VERSION_PATCH], 90) +m4_define([_GDBM_VERSION_PATCH], 90) AC_INIT([gdbm], _GDBM_VERSION_MAJOR._GDBM_VERSION_MINOR[]m4_ifdef([_GDBM_VERSION_PATCH],._GDBM_VERSION_PATCH), @@ -99,6 +99,14 @@ else GDBM_COUNT_T="unsigned long" fi +AC_MSG_CHECKING([for TLS qualifier]) +AC_TRY_COMPILE([], + [static __thread int x = 0;], + [gdbm_cv__thread=__thread], + [gdbm_cv__thread=]) +AC_MSG_RESULT($gdbm_cv__thread) +AC_DEFINE_UNQUOTED([GDBM_THREAD_LOCAL],$gdbm_cv__thread,[TLS qualifier]) + dnl Internationalization macros. AM_GNU_GETTEXT([external], [need-ngettext]) AM_GNU_GETTEXT_VERSION(0.18) diff --git a/src/gdbmerrno.c b/src/gdbmerrno.c index 12748b8..ec8534d 100644 --- a/src/gdbmerrno.c +++ b/src/gdbmerrno.c @@ -23,7 +23,7 @@ #include "gdbmdefs.h" /* The dbm error number is placed in the variable GDBM_ERRNO. */ -static __thread gdbm_error gdbm_errno_storage = GDBM_NO_ERROR; +static GDBM_THREAD_LOCAL gdbm_error gdbm_errno_storage = GDBM_NO_ERROR; int * gdbm_errno_location (void) |