Boost logo

Boost :

Subject: Re: [boost] 1.56.0 beta release candidate 2 available for testing
From: Bjørn Roald (bjorn_at_[hidden])
Date: 2014-07-16 07:44:05


On 07/15/2014 06:58 PM, Marshall Clow wrote:
> The second release candidate files for 1.56.0 beta are available at
> http://boost.cowic.de/rc/

...

> MD5 (boost-1_56_0_b1_rc2.7z) = cd6267325a8dadbb82b384c4776ee450

2 failures building lib/log on ubuntu 14.04 with clang 3.5 c++11 libc++

./b2 -j 6 toolset=clang cxxflags="-std=c++11 -stdlib=libc++"
linkflags="-stdlib=libc++"

2 failures building libs/log

bin.v2/libs/log/build/clang-linux-3.5/release/log-api-unix/threading-multi/trivial.o...
bin.v2/libs/log/build/clang-linux-3.5/release/link-static/log-api-unix/threading-multi/trivial.o...

Both failures caused by:
./boost/smart_ptr/make_shared_object.hpp:254:20: error: no matching
function for call to 'sp_forward'
     ::new( pv ) T( boost::detail::sp_forward<Args>( args )... );
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
./boost/smart_ptr/detail/sp_forward.hpp:32:25: note: candidate function
[with T = const char *] not viable: no known conversion from 'const char
*' to 'const char *&&' for 1st argument
template< class T > T&& sp_forward( T && t ) BOOST_NOEXCEPT

clang -std=c+11 seems to satisfy:

#if defined( __GNUC__ ) && __GNUC__ * 100 + __GNUC_MINOR__ <= 404

in ./boost/smart_ptr/detail/sp_forward.hpp and thus select sp_forward
template that by comments looks like workaround for GCC 4.4 outdated
version of rvalue references.

The test should should be changed to:

#if defined( __GNUC__ ) && __GNUC__ * 100 + __GNUC_MINOR__ <= 404 && not
defined __clang__

or

#if defined( __GNUC__ ) && __GNUC__ * 100 + __GNUC_MINOR__ <= 404 && not
defined BOOST_CLANG

or use a Boost.Config feature test if it exist for this.

--
Bjørn



Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk