[Boost-bugs] [Boost C++ Libraries] #10113: [1.55] no lock-free synchronization on Solaris 10 sparcv9 (sp_counted_base.hpp)

Subject: [Boost-bugs] [Boost C++ Libraries] #10113: [1.55] no lock-free synchronization on Solaris 10 sparcv9 (sp_counted_base.hpp)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-06-11 11:53:58


#10113: [1.55] no lock-free synchronization on Solaris 10 sparcv9
(sp_counted_base.hpp)
----------------------------+------------------------------
 Reporter: anonymous | Type: Bugs
   Status: new | Milestone: To Be Determined
Component: Building Boost | Version: Boost 1.55.0
 Severity: Problem | Keywords: lock-free sync.
----------------------------+------------------------------
 I wonder, why lock-free synchronization is not in use on solaris 10
 (sparcv9).

 E.g. check with
 http://www.boost.org/doc/libs/1_53_0/doc/html/lockfree/examples.html

 When i build boost 1.55 with gcc-4.7.2, then i get for
> ./b2
 [...]
   - lockfree boost::atomic_flag : no

 But there seems to be some support for cas32 (e.g.) in
 ./include/boost/smart_ptr/detail/...

 But in ./include/boost/smart_ptr/detail/sp_counted_base.hpp there is in
 the sequence of #if...#elif...#else...#endif is:

 {{{
 [...]
 #elif defined( __GNUC__ ) && ( defined( __mips__ ) || defined( _mips ) )
 && !defined(__PATHSCALE__)
 # include <boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp>

 #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>
 [...]
 }}}

 I.e. BOOST_SP_HAS_SYNC is preferred.

 Is this correct?

 - many thanks!

 best regards,

 Frank

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10113>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:16 UTC