Boost logo

Boost :

Subject: Re: [boost] Updated boost::base_from_member for C++2011
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2012-02-12 11:15:37


Le 11/02/12 20:50, Daryle Walker a écrit :
> This is in changeset 76982. I tried it on my system, with Apple-supplied GCC 4.0.1 and GCC-direct 4.6 (from MacPorts) on a Mac/PowerPC system. It just does the slam-dunk implementation of this concept that C++2011 allows (and therefore showing its power). The new code should be isolated to only systems that can handle it. Now the code is over the wall, and it's time to see who crashes& burns (hopefully no one) in the tests....
>
>
Hi,

there are some problems with clang-3.0 c++0x

clang-darwin.compile.c++
../../../bin.v2/libs/test/build/clang-darwin-3.0x/debug/link-static/threading-multi/unit_test_parameters.o
In file included from ../../../libs/test/src/unit_test_parameters.cpp:16:
In file included from ../../../boost/test/impl/unit_test_parameters.ipp:32:
In file included from
../../../boost/test/utils/runtime/cla/dual_name_parameter.hpp:21:
In file included from
../../../boost/test/utils/runtime/cla/named_parameter.hpp:21:
In file included from
../../../boost/test/utils/runtime/cla/basic_parameter.hpp:27:
../../../boost/utility/base_from_member.hpp:75:66: error: no matching
constructor for initialization of 'boost::runtime::cla::string_name_policy'
         BOOST_NOEXCEPT_IF( BOOST_NOEXCEPT_EXPR(::new ((void*) 0)
MemberType(
                                                                  ^
../../../boost/config/suffix.hpp:648:53: note: expanded from:
# define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression))
                                                     ^
../../../boost/config/suffix.hpp:647:50: note: expanded from:
# define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate))
                                                  ^
../../../boost/utility/base_from_member.hpp:74:30: note: in
instantiation of function template specialization
'boost::base_from_member<boost::runtime::cla::string_name_policy,
0>::base_from_member<const
boost::base_from_member<boost::runtime::cla::string_name_policy, 0> &>'
requested here
     explicit BOOST_CONSTEXPR base_from_member( T&& ...x )
                              ^
../../../boost/test/utils/runtime/cla/named_parameter.hpp:34:7: note:
candidate constructor (the implicit copy constructor) not viable: no
known conversion from 'const
boost::base_from_member<boost::runtime::cla::string_name_policy, 0>' to
'const boost::runtime::cla::string_name_policy' for 1st argument;
class string_name_policy : public basic_naming_policy {
       ^
../../../boost/test/utils/runtime/cla/named_parameter.hpp:37:5: note:
candidate constructor not viable: requires 0 arguments, but 1 was provided
     string_name_policy();
     ^

Best,
Vicente


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