Commit eddd1a94 authored by Mikael Ronstrom's avatar Mikael Ronstrom

Make choices of atomic implementation based on highest stability

parent efc20b24
...@@ -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" ------------------------------------
# elif __GNUC__ On Windows using Visual C++ the native implementation should be
# include "x86-gcc.h" preferrable. When using gcc we prefer the native x86 implementation,
# elif defined(_MSC_VER) 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" # include "generic-msvc.h"
# elif __GNUC__
# if defined(__i386__) || defined(__x86_64__)
# include "x86-gcc.h"
# elif defined(HAVE_SOLARIS_ATOMIC)
# 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