X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=inline;f=boost%2Fsmart_ptr%2Fdetail%2Fsp_has_sync.hpp;fp=boost%2Fsmart_ptr%2Fdetail%2Fsp_has_sync.hpp;h=16de21d379ab04a3d985d96c661569f9a1736a5c;hb=2d71eb92104693ca9baa5a2e1c23eeca776d8fd3;hp=7fcd09ef08bf89f62b1be1d20bf08c194b0b2f8a;hpb=da57529b92adbb7ae74a89861cb39fb35ac7c62d;p=rsem.git diff --git a/boost/smart_ptr/detail/sp_has_sync.hpp b/boost/smart_ptr/detail/sp_has_sync.hpp index 7fcd09e..16de21d 100644 --- a/boost/smart_ptr/detail/sp_has_sync.hpp +++ b/boost/smart_ptr/detail/sp_has_sync.hpp @@ -20,7 +20,17 @@ // are available. // -#if defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) +#ifndef BOOST_SP_NO_SYNC + +#if defined( __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 ) + +# define BOOST_SP_HAS_SYNC + +#elif defined( __IBMCPP__ ) && ( __IBMCPP__ >= 1210 ) + +# define BOOST_SP_HAS_SYNC + +#elif defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) #define BOOST_SP_HAS_SYNC @@ -36,14 +46,24 @@ #undef BOOST_SP_HAS_SYNC #endif +#if defined( __sh__ ) +#undef BOOST_SP_HAS_SYNC +#endif + #if defined( __sparc__ ) #undef BOOST_SP_HAS_SYNC #endif -#if defined( __INTEL_COMPILER ) && !defined( __ia64__ ) && ( __INTEL_COMPILER < 1100 ) +#if defined( __INTEL_COMPILER ) && !defined( __ia64__ ) && ( __INTEL_COMPILER < 1110 ) +#undef BOOST_SP_HAS_SYNC +#endif + +#if defined(__PATHSCALE__) && ((__PATHCC__ == 4) && (__PATHCC_MINOR__ < 9)) #undef BOOST_SP_HAS_SYNC #endif -#endif // __GNUC__ * 100 + __GNUC_MINOR__ >= 401 +#endif + +#endif // #ifndef BOOST_SP_NO_SYNC #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED