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__ */  | 
