
On 07/04/2012 10:57 AM, Olaf van der Spek wrote:
On Wed, Jul 4, 2012 at 10:54 AM, Karsten Ahnert <karsten.ahnert@ambrosys.de> wrote:
The following trivial program does not compile with g++-4.6.1 and std=c++0x enabled.
#include <boost/fusion/container.hpp>
int main( int argc , char *argv[] ) { }
Seems like a bug, or should I configure something via macros?
What's the error msg?
Here it is: g++ -I$BOOST_ROOT -std=c++0x fusion_bug.cpp In file included from /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/deque.hpp:43:0, from /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque.hpp:11, from /home/karsten/boost/boost_1_50_0/boost/fusion/container.hpp:14, from fusion_bug.cpp:1: /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/detail/cpp11_deque_keyed_values.hpp:22:12: error: redeclared with 2 template parameters /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/detail/preprocessed/deque_keyed_values10.hpp:15:12: note: previous declaration ‘template<class N, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9> struct boost::fusion::detail::deque_keyed_values_impl’ used 11 template parameters /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/detail/cpp11_deque_keyed_values.hpp:25:52: sorry, unimplemented: cannot expand ‘Tail ...’ into a fixed-length argument list /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/detail/cpp11_deque_keyed_values.hpp:45:12: error: redefinition of ‘struct boost::fusion::detail::deque_keyed_values_impl<N, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>’ /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/detail/preprocessed/deque_keyed_values10.hpp:17:12: error: previous definition of ‘struct boost::fusion::detail::deque_keyed_values_impl<N, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>’ /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/detail/cpp11_deque_keyed_values.hpp:52:12: error: redeclared with 1 template parameter /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/detail/preprocessed/deque_keyed_values10.hpp:114:12: note: previous declaration ‘template<class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9> struct boost::fusion::detail::deque_keyed_values’ used 10 template parameters /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/detail/cpp11_deque_keyed_values.hpp:53:58: sorry, unimplemented: cannot expand ‘Elements ...’ into a fixed-length argument list In file included from /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque.hpp:11:0, from /home/karsten/boost/boost_1_50_0/boost/fusion/container.hpp:14, from fusion_bug.cpp:1: /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/deque.hpp:67:49: sorry, unimplemented: cannot expand ‘Tail ...’ into a fixed-length argument list /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/deque.hpp:67:52: error: expected ‘{’ before ‘type’ /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/deque.hpp:68:7: error: invalid type in declaration before ‘,’ token /home/karsten/boost/boost_1_50_0/boost/fusion/container/deque/deque.hpp:68:7: error: template declaration of ‘int boost::fusion::type’