diff options
author | Vicent Marti <tanoku@gmail.com> | 2011-06-07 03:38:09 +0200 |
---|---|---|
committer | Vicent Marti <tanoku@gmail.com> | 2011-06-07 03:38:09 +0200 |
commit | 9d77d83a8108822bb8af49f13260e355a028e288 (patch) | |
tree | feea8c972ccd049bdb99a8b202a2cc772f1a7a27 /include/git2/thread-utils.h | |
parent | 1097dacd7d796e0c56492b717baf153ba88dff65 (diff) | |
download | libgit2-9d77d83a8108822bb8af49f13260e355a028e288.tar.gz |
Revert "threads: Fix TLS declarations"
This commit uploaded an old broken test. Oops!
Diffstat (limited to 'include/git2/thread-utils.h')
-rw-r--r-- | include/git2/thread-utils.h | 67 |
1 files changed, 30 insertions, 37 deletions
diff --git a/include/git2/thread-utils.h b/include/git2/thread-utils.h index 62e6199a4..e26876bea 100644 --- a/include/git2/thread-utils.h +++ b/include/git2/thread-utils.h @@ -31,48 +31,41 @@ * http://predef.sourceforge.net/precomp.html */ -#ifdef GIT_THREADS -# define GIT_HAS_TLS 1 +#define GIT_HAS_TLS 1 -/* No TLS in Cygwin */ -# if defined(__CHECKER__) || defined(__CYGWIN__) -# undef GIT_HAS_TLS -# define GIT_TLS +#if defined(__APPLE__) && defined(__MACH__) +# undef GIT_TLS +# define GIT_TLS -/* No TLS in Mach binaries for Mac OS X */ -# elif defined(__APPLE__) && defined(__MACH__) -# undef GIT_TLS -# define GIT_TLS +#elif defined(__GNUC__) || \ + defined(__SUNPRO_C) || \ + defined(__SUNPRO_CC) || \ + defined(__xlc__) || \ + defined(__xlC__) +# define GIT_TLS __thread -/* Normal TLS for GCC */ -# elif defined(__GNUC__) || \ - defined(__SUNPRO_C) || \ - defined(__SUNPRO_CC) || \ - defined(__xlc__) || \ - defined(__xlC__) -# define GIT_TLS __thread +#elif defined(__INTEL_COMPILER) +# if defined(_WIN32) || defined(_WIN32_CE) +# define GIT_TLS __declspec(thread) +# else +# define GIT_TLS __thread +# endif -/* ICC may run on Windows or Linux */ -# elif defined(__INTEL_COMPILER) -# if defined(_WIN32) || defined(_WIN32_CE) -# define GIT_TLS __declspec(thread) -# else -# define GIT_TLS __thread -# endif +#elif defined(_WIN32) || \ + defined(_WIN32_CE) || \ + defined(__BORLANDC__) +# define GIT_TLS __declspec(thread) -/* Declspec for MSVC in Win32 */ -# elif defined(_WIN32) || \ - defined(_WIN32_CE) || \ - defined(__BORLANDC__) -# define GIT_TLS __declspec(thread) +#else +# undef GIT_HAS_TLS +# define GIT_TLS /* nothing: tls vars are thread-global */ +#endif -/* Other platform; no TLS */ -# else -# undef GIT_HAS_TLS -# define GIT_TLS /* nothing: tls vars are thread-global */ -# endif -#else /* Disable TLS if libgit2 is not threadsafe */ -# define GIT_TLS -#endif /* GIT_THREADS */ +/* sparse and cygwin don't grok thread-local variables */ +#if defined(__CHECKER__) || defined(__CYGWIN__) +# undef GIT_HAS_TLS +# undef GIT_TLS +# define GIT_TLS +#endif #endif /* INCLUDE_git_thread_utils_h__ */ |