diff --git a/include/boost/fusion/container/list/cons.hpp b/include/boost/fusion/container/list/cons.hpp index 0dd91b0c..dd7f8873 100644 --- a/include/boost/fusion/container/list/cons.hpp +++ b/include/boost/fusion/container/list/cons.hpp @@ -70,6 +70,10 @@ namespace boost { namespace fusion cons(cons const& rhs) : car(rhs.car), cdr(rhs.cdr) {} +#if BOOST_WORKAROUND(BOOST_GCC, / 100 == 406) && !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) + // Workaround for `array used as initializer` compile error on gcc 4.6 w/ c++0x. + template +#endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons(cons const& rhs) : car(rhs.car), cdr(rhs.cdr) {} diff --git a/test/sequence/github-176.cpp b/test/sequence/github-176.cpp index 82960e9a..3301220d 100644 --- a/test/sequence/github-176.cpp +++ b/test/sequence/github-176.cpp @@ -81,6 +81,9 @@ int main() test_at >(); test_at >(); +#if !BOOST_WORKAROUND(BOOST_GCC, / 100 == 406) || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) + // FIXME: gcc 4.6 w/ c++0x doesn't like set with array... test_at_key >(); +#endif test_at_key > >(); }