Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51538 - branches/release/boost/smart_ptr/detail
From: pdimov_at_[hidden]
Date: 2009-03-02 11:42:29


Author: pdimov
Date: 2009-03-02 11:42:28 EST (Mon, 02 Mar 2009)
New Revision: 51538
URL: http://svn.boost.org/trac/boost/changeset/51538

Log:
Merge [51517] to release. Closes #2525.
Added:
   branches/release/boost/smart_ptr/detail/sp_has_sync.hpp
      - copied unchanged from r51517, /trunk/boost/smart_ptr/detail/sp_has_sync.hpp
Text files modified:
   branches/release/boost/smart_ptr/detail/atomic_count.hpp | 5 +++--
   branches/release/boost/smart_ptr/detail/atomic_count_gcc.hpp | 6 +++++-
   branches/release/boost/smart_ptr/detail/sp_counted_base.hpp | 5 +++--
   branches/release/boost/smart_ptr/detail/spinlock.hpp | 8 +++++++-
   4 files changed, 18 insertions(+), 6 deletions(-)

Modified: branches/release/boost/smart_ptr/detail/atomic_count.hpp
==============================================================================
--- branches/release/boost/smart_ptr/detail/atomic_count.hpp (original)
+++ branches/release/boost/smart_ptr/detail/atomic_count.hpp 2009-03-02 11:42:28 EST (Mon, 02 Mar 2009)
@@ -74,6 +74,7 @@
 //
 
 #include <boost/config.hpp>
+#include <boost/smart_ptr/detail/sp_has_sync.hpp>
 
 #ifndef BOOST_HAS_THREADS
 
@@ -95,10 +96,10 @@
 #elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
 # include <boost/smart_ptr/detail/atomic_count_gcc_x86.hpp>
 
-#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
+#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
 # include <boost/smart_ptr/detail/atomic_count_win32.hpp>
 
-#elif defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined( __arm__ ) && !defined( __hppa ) && ( !defined( __INTEL_COMPILER ) || defined( __ia64__ ) )
+#elif defined( BOOST_SP_HAS_SYNC )
 # include <boost/smart_ptr/detail/atomic_count_sync.hpp>
 
 #elif defined(__GLIBCPP__) || defined(__GLIBCXX__)

Modified: branches/release/boost/smart_ptr/detail/atomic_count_gcc.hpp
==============================================================================
--- branches/release/boost/smart_ptr/detail/atomic_count_gcc.hpp (original)
+++ branches/release/boost/smart_ptr/detail/atomic_count_gcc.hpp 2009-03-02 11:42:28 EST (Mon, 02 Mar 2009)
@@ -17,7 +17,11 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 //
 
-#include <bits/atomicity.h>
+#if __GNUC__ * 100 + __GNUC_MINOR__ >= 402
+# include <ext/atomicity.h>
+#else
+# include <bits/atomicity.h>
+#endif
 
 namespace boost
 {

Modified: branches/release/boost/smart_ptr/detail/sp_counted_base.hpp
==============================================================================
--- branches/release/boost/smart_ptr/detail/sp_counted_base.hpp (original)
+++ branches/release/boost/smart_ptr/detail/sp_counted_base.hpp 2009-03-02 11:42:28 EST (Mon, 02 Mar 2009)
@@ -18,6 +18,7 @@
 //
 
 #include <boost/config.hpp>
+#include <boost/smart_ptr/detail/sp_has_sync.hpp>
 
 #if defined( BOOST_SP_DISABLE_THREADS )
 # include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
@@ -46,13 +47,13 @@
 #elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc ) )
 # include <boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp>
 
-#elif defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined( __arm__ ) && !defined( __hppa ) && ( !defined( __INTEL_COMPILER ) || defined( __ia64__ ) )
+#elif defined( BOOST_SP_HAS_SYNC )
 # include <boost/smart_ptr/detail/sp_counted_base_sync.hpp>
 
 #elif defined(__GNUC__) && ( defined( __sparcv9 ) || ( defined( __sparcv8 ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 402 ) ) )
 # include <boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp>
 
-#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
+#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined(__CYGWIN__)
 # include <boost/smart_ptr/detail/sp_counted_base_w32.hpp>
 
 #elif !defined( BOOST_HAS_THREADS )

Modified: branches/release/boost/smart_ptr/detail/spinlock.hpp
==============================================================================
--- branches/release/boost/smart_ptr/detail/spinlock.hpp (original)
+++ branches/release/boost/smart_ptr/detail/spinlock.hpp 2009-03-02 11:42:28 EST (Mon, 02 Mar 2009)
@@ -29,17 +29,23 @@
 //
 
 #include <boost/config.hpp>
+#include <boost/smart_ptr/detail/sp_has_sync.hpp>
 
 #if defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )
 # include <boost/smart_ptr/detail/spinlock_gcc_arm.hpp>
-#elif defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined( __arm__ ) && !defined( __hppa ) && ( !defined( __INTEL_COMPILER ) || defined( __ia64__ ) )
+
+#elif defined( BOOST_SP_HAS_SYNC )
 # include <boost/smart_ptr/detail/spinlock_sync.hpp>
+
 #elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
 # include <boost/smart_ptr/detail/spinlock_w32.hpp>
+
 #elif defined(BOOST_HAS_PTHREADS)
 # include <boost/smart_ptr/detail/spinlock_pt.hpp>
+
 #elif !defined(BOOST_HAS_THREADS)
 # include <boost/smart_ptr/detail/spinlock_nt.hpp>
+
 #else
 # error Unrecognized threading platform
 #endif


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk