$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Problem with BOOST_NO_CXX11_VARIADIC_TEMPLATES in gcc.hpp
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2014-08-23 04:58:46
On Saturday 23 August 2014 09:40:34 John Maddock wrote:
> > Furthermore, the bug that produces a message like this:
> >
> > "sorry, unimplemented: cannot expand 'Args ...' into a fixed-length
> > argument list"
> >
> > was only fixed in g++ 4.7.0 (according to a bug report). That issue
> > could also use a guard macro, as was done in one of the boost libraries
> > ( BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST).
>
> If this is a GCC specific bug, then I'm inclined to suggest that this is
> what BOOST_WORKAROUND is for: unless there are a lot of libraries
> needing this, or there's a consensus that variadic templates should be
> disabled altogether prior to 4.7?
I have a similar macro
BOOST_LOG_NO_CXX11_ARG_PACKS_TO_NON_VARIADIC_ARGS_EXPANSION in Boost.Log. To
my knowledge, this is a gcc-specific issue.
I don't think that variadic templates should be disabled for gcc prior to 4.7,
even with this problem, since the implementation is sufficient for many use
cases.