summaryrefslogtreecommitdiff
path: root/include/git2/thread-utils.h
diff options
context:
space:
mode:
authorVicent Marti <tanoku@gmail.com>2011-06-07 03:38:09 +0200
committerVicent Marti <tanoku@gmail.com>2011-06-07 03:38:09 +0200
commit9d77d83a8108822bb8af49f13260e355a028e288 (patch)
treefeea8c972ccd049bdb99a8b202a2cc772f1a7a27 /include/git2/thread-utils.h
parent1097dacd7d796e0c56492b717baf153ba88dff65 (diff)
downloadlibgit2-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.h67
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__ */