00001
00002
00003
00004
00005
00006
00007 #include <boost/config.hpp>
00008
00009 #if defined(__GNUC__) && (defined(__i386__) || defined(__amd64__))
00010
00011 #include "detail/gcc-x86.hpp"
00012
00013 #elif defined(__GNUC__) && defined(__alpha__)
00014
00015 #include "detail/gcc-alpha.hpp"
00016
00017 #elif defined(__GNUC__) && (defined(__POWERPC__) || defined(__PPC__))
00018
00019 #include "detail/gcc-ppc.hpp"
00020
00021
00022
00023 #elif defined(__GNUC__) && (defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
00024 || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) \
00025 || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_7A__))
00026
00027 #include "detail/gcc-armv6+.hpp"
00028
00029 #elif defined(__linux__) && defined(__arm__)
00030
00031 #include "detail/linux-arm.hpp"
00032
00033 #elif defined(BOOST_USE_WINDOWS_H) || defined(_WIN32_CE) || defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
00034
00035 #include "detail/interlocked.hpp"
00036
00037 #else
00038
00039 #warning "Using slow fallback atomic implementation"
00040 #include "detail/generic-cas.hpp"
00041
00042 #endif