Commit 30390a5e authored by Mikael Ronstrom's avatar Mikael Ronstrom

Make choices of atomic implementation based on highest stability

parent 763b01c9
...@@ -25,17 +25,29 @@ ...@@ -25,17 +25,29 @@
# else # else
# define LOCK_prefix "lock" # define LOCK_prefix "lock"
# endif # endif
/*
# ifdef HAVE_GCC_ATOMIC_BUILTINS We choose implementation as follows:
# include "gcc_builtins.h" ------------------------------------
On Windows using Visual C++ the native implementation should be
preferrable. When using gcc we prefer the native x86 implementation,
we prefer the Solaris implementation before the gcc because of
stability preference, we choose gcc implementation if nothing else
works on gcc. If neither Visual C++ or gcc we still choose the
Solaris implementation on Solaris (mainly for SunStudio compiles.
*/
# if defined(_MSV_VER)
# include "generic-msvc.h"
# elif __GNUC__ # elif __GNUC__
# if defined(__i386__) || defined(__x86_64__)
# include "x86-gcc.h" # include "x86-gcc.h"
# elif defined(_MSC_VER) # elif defined(HAVE_SOLARIS_ATOMIC)
# include "generic-msvc.h" # include "solaris.h"
# elif defined(HAVE_GCC_ATOMIC_BUILTINS)
# include "gcc_builtins.h"
# endif
# elif defined(HAVE_SOLARIS_ATOMIC)
# include "solaris.h"
# endif # endif
#elif defined(HAVE_SOLARIS_ATOMIC)
#include "solaris.h"
#endif
#if defined(make_atomic_cas_body) || defined(MY_ATOMICS_MADE) #if defined(make_atomic_cas_body) || defined(MY_ATOMICS_MADE)
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment