aboutsummaryrefslogtreecommitdiff
path: root/cutl/details/boost/smart_ptr/detail/sp_has_sync.hpp
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-10-19 08:57:20 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-10-19 08:57:20 +0200
commited6115361006240e3c7b02295599e4534cc55a13 (patch)
tree612f12d6c7c49421102041fceb7609db8ab8257e /cutl/details/boost/smart_ptr/detail/sp_has_sync.hpp
parentaf8d1a0139ca105c6830f4ac7c320aca2e1c1f5e (diff)
Update internal Boost subset to 1.54.0
Diffstat (limited to 'cutl/details/boost/smart_ptr/detail/sp_has_sync.hpp')
-rw-r--r--cutl/details/boost/smart_ptr/detail/sp_has_sync.hpp26
1 files changed, 23 insertions, 3 deletions
diff --git a/cutl/details/boost/smart_ptr/detail/sp_has_sync.hpp b/cutl/details/boost/smart_ptr/detail/sp_has_sync.hpp
index 7fcd09e..16de21d 100644
--- a/cutl/details/boost/smart_ptr/detail/sp_has_sync.hpp
+++ b/cutl/details/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