Boost logo

Boost :

Subject: [boost] [enable_if] compile failure in trunk
From: Tim Blechmann (tim_at_[hidden])
Date: 2011-12-05 07:36:44


trying to merge boost.heap into trunk, there is one issue, which seems to be
triggered by the enable_if in the boost.heap testsuite.

compiling with gcc (4.5 or 4.6), i get the following error:

In file included from /home/tim/workspace/boost-trunk/boost/parameter.hpp:17:0,
                 from /home/tim/workspace/boost-trunk/boost/heap/policies.hpp:12,
                 from /home/tim/workspace/boost-trunk/boost/heap/detail/stable_heap.hpp:20,
                 from /home/tim/workspace/boost_heap/libs/heap/test/../../../boost/heap/fibonacci_heap.hpp:20,
                 from /home/tim/workspace/boost_heap/libs/heap/test/fibonacci_heap_test.cpp:8:
/home/tim/workspace/boost-trunk/boost/parameter/name.hpp:52:1: error: template argument 2 is invalid
In file included from /home/tim/workspace/boost-trunk/boost/fusion/support/detail/segmented_fold_until_impl.hpp:20:0,
                 from /home/tim/workspace/boost-trunk/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp:15,
                 from /home/tim/workspace/boost-trunk/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:10,
                 from /home/tim/workspace/boost-trunk/boost/fusion/sequence/intrinsic/begin.hpp:17,
                 from /home/tim/workspace/boost-trunk/boost/fusion/container/vector/vector10.hpp:15,
                 from /home/tim/workspace/boost-trunk/boost/fusion/container/vector/vector_fwd.hpp:14,
                 from /home/tim/workspace/boost-trunk/boost/fusion/container/vector/vector.hpp:10,
                 from /home/tim/workspace/boost-trunk/boost/fusion/tuple/tuple.hpp:11,
                 from /home/tim/workspace/boost-trunk/boost/fusion/tuple.hpp:10,
                 from /home/tim/workspace/boost-trunk/boost/fusion/include/tuple.hpp:10,
                 from /home/tim/workspace/boost-trunk/boost/math/tools/tuple.hpp:89,
                 from /home/tim/workspace/boost-trunk/boost/math/special_functions/detail/igamma_inverse.hpp:13,
                 from /home/tim/workspace/boost-trunk/boost/math/special_functions/gamma.hpp:1543,
                 from /home/tim/workspace/boost-trunk/boost/math/special_functions/detail/bessel_jy.hpp:14,
                 from /home/tim/workspace/boost-trunk/boost/math/special_functions/bessel.hpp:17,
                 from /home/tim/workspace/boost-trunk/boost/math/special_functions.hpp:18,
                 from /home/tim/workspace/boost-trunk/boost/random/generate_canonical.hpp:22,
                 from /home/tim/workspace/boost-trunk/boost/random.hpp:52,
                 from /home/tim/workspace/boost_heap/libs/heap/test/mutable_heap_tests.hpp:1,
                 from /home/tim/workspace/boost_heap/libs/heap/test/fibonacci_heap_test.cpp:12:
/home/tim/workspace/boost-trunk/boost/fusion/iterator/equal_to.hpp:77:9: error: expected nested-name-specifier before ‘enable_if’
/home/tim/workspace/boost-trunk/boost/fusion/iterator/equal_to.hpp:77:18: error: expected initializer before ‘<’ token
/home/tim/workspace/boost-trunk/boost/fusion/iterator/equal_to.hpp:88:9: error: expected nested-name-specifier before ‘enable_if’
/home/tim/workspace/boost-trunk/boost/fusion/iterator/equal_to.hpp:88:18: error: expected initializer before ‘<’ token
/home/tim/workspace/boost-trunk/boost/fusion/iterator/equal_to.hpp:98:31: error: ‘boost::fusion::iterator_operators::operator==’ has not been declared
/home/tim/workspace/boost-trunk/boost/fusion/iterator/equal_to.hpp:99:31: error: ‘boost::fusion::iterator_operators::operator!=’ has not been declared
In file included from /home/tim/workspace/boost-trunk/boost/fusion/iterator/segmented_iterator.hpp:13:0,
                 from /home/tim/workspace/boost-trunk/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:11,
                 from /home/tim/workspace/boost-trunk/boost/fusion/sequence/intrinsic/begin.hpp:17,
                 from /home/tim/workspace/boost-trunk/boost/fusion/container/vector/vector10.hpp:15,
                 from /home/tim/workspace/boost-trunk/boost/fusion/container/vector/vector_fwd.hpp:14,
                 from /home/tim/workspace/boost-trunk/boost/fusion/container/vector/vector.hpp:10,
                 from /home/tim/workspace/boost-trunk/boost/fusion/tuple/tuple.hpp:11,
                 from /home/tim/workspace/boost-trunk/boost/fusion/tuple.hpp:10,
                 from /home/tim/workspace/boost-trunk/boost/fusion/include/tuple.hpp:10,
                 from /home/tim/workspace/boost-trunk/boost/math/tools/tuple.hpp:89,
                 from /home/tim/workspace/boost-trunk/boost/math/special_functions/detail/igamma_inverse.hpp:13,
                 from /home/tim/workspace/boost-trunk/boost/math/special_functions/gamma.hpp:1543,
                 from /home/tim/workspace/boost-trunk/boost/math/special_functions/detail/bessel_jy.hpp:14,
                 from /home/tim/workspace/boost-trunk/boost/math/special_functions/bessel.hpp:17,
                 from /home/tim/workspace/boost-trunk/boost/math/special_functions.hpp:18,
                 from /home/tim/workspace/boost-trunk/boost/random/generate_canonical.hpp:22,
                 from /home/tim/workspace/boost-trunk/boost/random.hpp:52,
                 from /home/tim/workspace/boost_heap/libs/heap/test/mutable_heap_tests.hpp:1,
                 from /home/tim/workspace/boost_heap/libs/heap/test/fibonacci_heap_test.cpp:12:
/home/tim/workspace/boost-trunk/boost/fusion/container/list/cons.hpp:91:22: error: expected nested-name-specifier before ‘disable_if’
/home/tim/workspace/boost-trunk/boost/fusion/container/list/cons.hpp:91:32: error: expected ‘,’ or ‘...’ before ‘<’ token
/home/tim/workspace/boost-trunk/boost/fusion/container/list/cons.hpp:122:18: error: expected nested-name-specifier before ‘disable_if’
/home/tim/workspace/boost-trunk/boost/fusion/container/list/cons.hpp:122:28: error: expected initializer before ‘<’ token

compiling with gcc against 1.48 works fine. clang++ correctly compiles this
code against boost-trunk. any idea, what could go wrong there?

thanks, tim


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