Browse Source

Make choices of atomic implementation based on highest stability

pull/374/head
Mikael Ronstrom 16 years ago
parent
commit
eddd1a94a7
  1. 30
      include/atomic/nolock.h

30
include/atomic/nolock.h

@ -25,17 +25,29 @@
# else
# define LOCK_prefix "lock"
# endif
# ifdef HAVE_GCC_ATOMIC_BUILTINS
# include "gcc_builtins.h"
# elif __GNUC__
# include "x86-gcc.h"
# elif defined(_MSC_VER)
/*
We choose implementation as follows:
------------------------------------
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__
# 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
#elif defined(HAVE_SOLARIS_ATOMIC)
#include "solaris.h"
#endif
#if defined(make_atomic_cas_body) || defined(MY_ATOMICS_MADE)
/*

Loading…
Cancel
Save