Boost logo

Boost :

Subject: Re: [boost] [container] variadic template support in g++ 4.5.1
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2014-08-20 13:51:46


El 20/08/2014 17:53, Richard Hadsell escribió:
> On 08/20/2014 11:40 AM, Richard Hadsell wrote:
>> /netDISKS/master/netmt/LINUX_INTF14/cgi/boost/1.56.0/Include/libboost/boost/container/allocator_traits.hpp:
>> In static member function 'static void
>> boost::container::allocator_traits<Alloc>::priv_construct(boost::false_type,
>> Alloc&, T*, const Args& ...)':
>> /netDISKS/master/netmt/LINUX_INTF14/cgi/boost/1.56.0/Include/libboost/boost/container/allocator_traits.hpp:324:43:
>> sorry, unimplemented: cannot expand 'Args ...' into a fixed-length
>> argument list
>> ...
>> config/compiler/gcc.hpp defines BOOST_NO_CXX11_VARIADIC_TEMPLATES for
>> g++ earlier than 4.4, which means it believes the code should be valid
>> for 4.5.1.
>>
>> Is there already a fix for this in development? Please, tell me what
>> to do with my copy of 1.56.0.
>>
> Further research found this g++ bug ticket, which says that it is fixed
> in 4.7.0:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35722

Boost.Container has some workaround for some case (search for
BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST). I think the
workaround should go to Boost.Intrusive, which implements the class
(has_member_function_callable_with_xxxx).

Can you please try to write a small test case showing the problem and
fill a Boost track issue?

Thanks,

Ion


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