There are a number of tests from test_construction failed on Dinkumware. I see some tests in test_construction.cpp have worked around for BOOST_LIBSTDCXX_VERSION. Any adaptation needed for BOOST_DINKUMWARE_STDLIB?
The Dinkumware version I'm using is 804:
BOOST_DINKUMWARE_STDLIB=804 [-W#pragma-messages]
BOOST_STDLIB="Dinkumware standard library version " "804" [-W#pragma-messages]
The failed tests as below:
../libs/poly_collection/test/test_construction.cpp(97): test 'p3.get_allocator().comes_from(root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = false, PolyCollection = boost::poly_collection::any_collection<boost::type_erasure::incrementable<boost::type_erasure::_self>, std::allocator<boost::type_erasure::any<boost::mpl::vector2<boost::type_erasure::incrementable<boost::type_erasure::_self>, boost::type_erasure::typeid_<boost::type_erasure::_self> >, boost::type_erasure::_self &> > >, ValueFactory = test_utilities::auto_increment, Types = <any_types::incrementable1, double, any_types::incrementable3, int, boost::type_erasure::any<boost::mpl::vector4<boost::type_erasure::copy_constructible<boost::type_erasure::_self>, boost::type_erasure::assignable<boost::type_erasure::_self, const boost::type_erasure::_self &>, boost::type_erasure::incrementable<boost::type_erasure::_self>, any_types::convertible_to_int<boost::type_erasure::_self> >, boost::type_erasure::_self>>]' ../libs/poly_collection/test/test_construction.cpp(116): test 'p2.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = false, PolyCollection = boost::poly_collection::any_collection<boost::type_erasure::incrementable<boost::type_erasure::_self>, std::allocator<boost::type_erasure::any<boost::mpl::vector2<boost::type_erasure::incrementable<boost::type_erasure::_self>, boost::type_erasure::typeid_<boost::type_erasure::_self> >, boost::type_erasure::_self &> > >, ValueFactory = test_utilities::auto_increment, Types = <any_types::incrementable1, double, any_types::incrementable3, int, boost::type_erasure::any<boost::mpl::vector4<boost::type_erasure::copy_constructible<boost::type_erasure::_self>, boost::type_erasure::assignable<boost::type_erasure::_self, const boost::type_erasure::_self &>, boost::type_erasure::incrementable<boost::type_erasure::_self>, any_types::convertible_to_int<boost::type_erasure::_self> >, boost::type_erasure::_self>>]' ../libs/poly_collection/test/test_construction.cpp(116): test 'p2.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::any_collection<boost::type_erasure::incrementable<boost::type_erasure::_self>, std::allocator<boost::type_erasure::any<boost::mpl::vector2<boost::type_erasure::incrementable<boost::type_erasure::_self>, boost::type_erasure::typeid_<boost::type_erasure::_self> >, boost::type_erasure::_self &> > >, ValueFactory = test_utilities::auto_increment, Types = <any_types::incrementable1, double, any_types::incrementable3, int, boost::type_erasure::any<boost::mpl::vector4<boost::type_erasure::copy_constructible<boost::type_erasure::_self>, boost::type_erasure::assignable<boost::type_erasure::_self, const boost::type_erasure::_self &>, boost::type_erasure::incrementable<boost::type_erasure::_self>, any_types::convertible_to_int<boost::type_erasure::_self> >, boost::type_erasure::_self>>]' ../libs/poly_collection/test/test_construction.cpp(143): test 'p3.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::any_collection<boost::type_erasure::incrementable<boost::type_erasure::_self>, std::allocator<boost::type_erasure::any<boost::mpl::vector2<boost::type_erasure::incrementable<boost::type_erasure::_self>, boost::type_erasure::typeid_<boost::type_erasure::_self> >, boost::type_erasure::_self &> > >, ValueFactory = test_utilities::auto_increment, Types = <any_types::incrementable1, double, any_types::incrementable3, int, boost::type_erasure::any<boost::mpl::vector4<boost::type_erasure::copy_constructible<boost::type_erasure::_self>, boost::type_erasure::assignable<boost::type_erasure::_self, const boost::type_erasure::_self &>, boost::type_erasure::incrementable<boost::type_erasure::_self>, any_types::convertible_to_int<boost::type_erasure::_self> >, boost::type_erasure::_self>>]' ../libs/poly_collection/test/test_construction.cpp(179): test 'p2.get_allocator().comes_from(Propagate?root2:root1)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::any_collection<boost::type_erasure::incrementable<boost::type_erasure::_self>, std::allocator<boost::type_erasure::any<boost::mpl::vector2<boost::type_erasure::incrementable<boost::type_erasure::_self>, boost::type_erasure::typeid_<boost::type_erasure::_self> >, boost::type_erasure::_self &> > >, ValueFactory = test_utilities::auto_increment, Types = <any_types::incrementable1, double, any_types::incrementable3, int, boost::type_erasure::any<boost::mpl::vector4<boost::type_erasure::copy_constructible<boost::type_erasure::_self>, boost::type_erasure::assignable<boost::type_erasure::_self, const boost::type_erasure::_self &>, boost::type_erasure::incrementable<boost::type_erasure::_self>, any_types::convertible_to_int<boost::type_erasure::_self> >, boost::type_erasure::_self>>]' ../libs/poly_collection/test/test_construction.cpp(180): test 'p3.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::any_collection<boost::type_erasure::incrementable<boost::type_erasure::_self>, std::allocator<boost::type_erasure::any<boost::mpl::vector2<boost::type_erasure::incrementable<boost::type_erasure::_self>, boost::type_erasure::typeid_<boost::type_erasure::_self> >, boost::type_erasure::_self &> > >, ValueFactory = test_utilities::auto_increment, Types = <any_types::incrementable1, double, any_types::incrementable3, int, boost::type_erasure::any<boost::mpl::vector4<boost::type_erasure::copy_constructible<boost::type_erasure::_self>, boost::type_erasure::assignable<boost::type_erasure::_self, const boost::type_erasure::_self &>, boost::type_erasure::incrementable<boost::type_erasure::_self>, any_types::convertible_to_int<boost::type_erasure::_self> >, boost::type_erasure::_self>>]' ../libs/poly_collection/test/test_construction.cpp(97): test 'p3.get_allocator().comes_from(root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = false, PolyCollection = boost::poly_collection::base_collection<base_types::base, std::allocator<base_types::base> >, ValueFactory = test_utilities::auto_increment, Types = <base_types::derived1, base_types::derived2, base_types::derived3, base_types::derived4, base_types::derived5>]' ../libs/poly_collection/test/test_construction.cpp(116): test 'p2.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = false, PolyCollection = boost::poly_collection::base_collection<base_types::base, std::allocator<base_types::base> >, ValueFactory = test_utilities::auto_increment, Types = <base_types::derived1, base_types::derived2, base_types::derived3, base_types::derived4, base_types::derived5>]' ../libs/poly_collection/test/test_construction.cpp(116): test 'p2.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::base_collection<base_types::base, std::allocator<base_types::base> >, ValueFactory = test_utilities::auto_increment, Types = <base_types::derived1, base_types::derived2, base_types::derived3, base_types::derived4, base_types::derived5>]' ../libs/poly_collection/test/test_construction.cpp(143): test 'p3.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::base_collection<base_types::base, std::allocator<base_types::base> >, ValueFactory = test_utilities::auto_increment, Types = <base_types::derived1, base_types::derived2, base_types::derived3, base_types::derived4, base_types::derived5>]' ../libs/poly_collection/test/test_construction.cpp(179): test 'p2.get_allocator().comes_from(Propagate?root2:root1)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::base_collection<base_types::base, std::allocator<base_types::base> >, ValueFactory = test_utilities::auto_increment, Types = <base_types::derived1, base_types::derived2, base_types::derived3, base_types::derived4, base_types::derived5>]' ../libs/poly_collection/test/test_construction.cpp(180): test 'p3.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::base_collection<base_types::base, std::allocator<base_types::base> >, ValueFactory = test_utilities::auto_increment, Types = <base_types::derived1, base_types::derived2, base_types::derived3, base_types::derived4, base_types::derived5>]' ../libs/poly_collection/test/test_construction.cpp(97): test 'p3.get_allocator().comes_from(root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = false, PolyCollection = boost::poly_collection::function_collection<function_types::int_alias (int), std::allocator<boost::poly_collection::detail::callable_wrapper<function_types::int_alias (int)> > >, ValueFactory = test_utilities::auto_increment, Types = <function_types::function1, function_types::function2, function_types::function3, function_types::function4, function_types::function5>]' ../libs/poly_collection/test/test_construction.cpp(116): test 'p2.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = false, PolyCollection = boost::poly_collection::function_collection<function_types::int_alias (int), std::allocator<boost::poly_collection::detail::callable_wrapper<function_types::int_alias (int)> > >, ValueFactory = test_utilities::auto_increment, Types = <function_types::function1, function_types::function2, function_types::function3, function_types::function4, function_types::function5>]' ../libs/poly_collection/test/test_construction.cpp(116): test 'p2.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::function_collection<function_types::int_alias (int), std::allocator<boost::poly_collection::detail::callable_wrapper<function_types::int_alias (int)> > >, ValueFactory = test_utilities::auto_increment, Types = <function_types::function1, function_types::function2, function_types::function3, function_types::function4, function_types::function5>]' ../libs/poly_collection/test/test_construction.cpp(143): test 'p3.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::function_collection<function_types::int_alias (int), std::allocator<boost::poly_collection::detail::callable_wrapper<function_types::int_alias (int)> > >, ValueFactory = test_utilities::auto_increment, Types = <function_types::function1, function_types::function2, function_types::function3, function_types::function4, function_types::function5>]' ../libs/poly_collection/test/test_construction.cpp(179): test 'p2.get_allocator().comes_from(Propagate?root2:root1)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::function_collection<function_types::int_alias (int), std::allocator<boost::poly_collection::detail::callable_wrapper<function_types::int_alias (int)> > >, ValueFactory = test_utilities::auto_increment, Types = <function_types::function1, function_types::function2, function_types::function3, function_types::function4, function_types::function5>]' ../libs/poly_collection/test/test_construction.cpp(180): test 'p3.get_allocator().comes_from(Propagate?root1:root2)' failed in function 'void test_allocator_aware_construction() [Propagate = true, AlwaysEqual = true, PolyCollection = boost::poly_collection::function_collection<function_types::int_alias (int), std::allocator<boost::poly_collection::detail::callable_wrapper<function_types::int_alias (int)> > >, ValueFactory = test_utilities::auto_increment, Types = <function_types::function1, function_types::function2, function_types::function3, function_types::function4, function_types::function5>]' 18 errors detected.