summaryrefslogtreecommitdiff
path: root/include/my_atomic.h
diff options
context:
space:
mode:
authorMikael Ronstrom <mikael@mysql.com>2009-12-19 17:44:45 +0100
committerMikael Ronstrom <mikael@mysql.com>2009-12-19 17:44:45 +0100
commitd60b5fa2606e5b1b48dde4795f9afe990171f76a (patch)
tree50e8eb5cb711aaecfbd60680bff1c6982398cab3 /include/my_atomic.h
parent2126212df1a92cad74de5f36d16c3956ad630606 (diff)
downloadmariadb-git-d60b5fa2606e5b1b48dde4795f9afe990171f76a.tar.gz
Fixed Solaris build issues
Diffstat (limited to 'include/my_atomic.h')
-rw-r--r--include/my_atomic.h14
1 files changed, 4 insertions, 10 deletions
diff --git a/include/my_atomic.h b/include/my_atomic.h
index fbeacb66e1d..f0d193c2528 100644
--- a/include/my_atomic.h
+++ b/include/my_atomic.h
@@ -68,18 +68,12 @@
#include "atomic/nolock.h"
#endif
-#ifndef make_atomic_cas_body
-/*
- When implementing atomics using solaris.h we will end up here.
- In this case we have already implemented all atomic functions
- and no more work is needed, this is indicated by MY_ATOMICS_MADE
- being defined but not make_atomic_cas_body.
-*/
-#ifndef MY_ATOMICS_MADE
+#ifndef MY_ATOMIC_NOLOCK
/* nolock.h was not able to generate even a CAS function, fall back */
#include "atomic/rwlock.h"
#endif
-#else
+
+#ifndef MY_ATOMICS_MADE
/* define missing functions by using the already generated ones */
#ifndef make_atomic_add_body
#define make_atomic_add_body(S) \
@@ -102,7 +96,6 @@
#define make_atomic_store_body(S) \
(void)(my_atomic_fas ## S (a, v));
#endif
-#endif
/*
transparent_union doesn't work in g++
@@ -295,6 +288,7 @@ make_atomic_store(ptr)
#undef make_atomic_store_body
#undef make_atomic_fas_body
#undef intptr
+#endif
/*
the macro below defines (as an expression) the code that