[Boost-bugs] [Boost C++ Libraries] #10446: boost 1.56 compile fail with atomics failure

Subject: [Boost-bugs] [Boost C++ Libraries] #10446: boost 1.56 compile fail with atomics failure
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-09-03 02:39:31


#10446: boost 1.56 compile fail with atomics failure
-------------------------------+--------------------------
 Reporter: niqingliang2003@… | Owner: timblechmann
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: atomic
  Version: Boost 1.56.0 | Severity: Problem
 Keywords: atomic |
-------------------------------+--------------------------
 using gcc 4.9.1 with poky, cross compile boost 1.56 for s3c6410.
 -march=armv6

 error info:
 libs/atomic/src/lockpool.cpp:127:5: error: 'thread_fence' is not a member
 of 'boost::atomics::detail'
 libs/atomic/src/lockpool.cpp:138:5: error: 'signal_fence' is not a member
 of 'boost::atomics::detail'


 after dig into it, I found that:
 the marco 'BOOST_ATOMIC_FLAG_LOCK_FREE' is 0, so it don't include
 'operations_lockfree.hpp' which has 'thread_fence' and 'signal_fence', but
 pthread.h at line 21.

 in file 'caps_gcc_atomic.hpp', 'BOOST_ATOMIC_FLAG_LOCK_FREE' is set to
 '0', but at the end of 'caps_gcc_atomic.hpp', it defined
 'BOOST_ATOMIC_THREAD_FENCE' as 2.

 so the conflict is: BOOST_ATOMIC_THREAD_FENCE and
 BOOST_ATOMIC_FLAG_LOCK_FREE

 I think 'BOOST_ATOMIC_THREAD_FENCE' should depend on
 'BOOST_ATOMIC_FLAG_LOCK_FREE', do you think so?

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10446>
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