Disable std::vector as underlying sequence in old GCCs as we have compilation errors due to unsupported features.

This commit is contained in:
Ion Gaztañaga
2024-09-09 13:53:24 +02:00
parent e9db423fb6
commit 13180fd601

View File

@@ -612,6 +612,8 @@ int main()
boost::has_trivial_destructor_after_move<tree>::value boost::has_trivial_destructor_after_move<tree>::value
, "has_trivial_destructor_after_move(flat_map, vector) test failed"); , "has_trivial_destructor_after_move(flat_map, vector) test failed");
} }
//Old GCCs have problems (compiler bugs) with std::vector and flat_xxx
#if !defined(BOOST_GCC) || (BOOST_GCC < 50000)
// flat_map, std::vector // flat_map, std::vector
{ {
typedef std::vector<value_t> alloc_or_cont_t; typedef std::vector<value_t> alloc_or_cont_t;
@@ -621,6 +623,7 @@ int main()
boost::has_trivial_destructor_after_move<tree>::value boost::has_trivial_destructor_after_move<tree>::value
, "has_trivial_destructor_after_move(flat_map, std::vector) test failed"); , "has_trivial_destructor_after_move(flat_map, std::vector) test failed");
} }
#endif
// flat_multimap, default // flat_multimap, default
{ {
typedef boost::container::new_allocator<value_t> alloc_or_cont_t; typedef boost::container::new_allocator<value_t> alloc_or_cont_t;
@@ -639,6 +642,8 @@ int main()
boost::has_trivial_destructor_after_move<tree>::value boost::has_trivial_destructor_after_move<tree>::value
, "has_trivial_destructor_after_move(flat_multimap, vector) test failed"); , "has_trivial_destructor_after_move(flat_multimap, vector) test failed");
} }
//Old GCCs have problems (compiler bugs) with std::vector and flat_xxx
#if !defined(BOOST_GCC) || (BOOST_GCC < 50000)
// flat_multimap, std::vector // flat_multimap, std::vector
{ {
typedef std::vector<value_t> alloc_or_cont_t; typedef std::vector<value_t> alloc_or_cont_t;
@@ -648,6 +653,7 @@ int main()
boost::has_trivial_destructor_after_move<tree>::value boost::has_trivial_destructor_after_move<tree>::value
, "has_trivial_destructor_after_move(flat_multimap, std::vector) test failed"); , "has_trivial_destructor_after_move(flat_multimap, std::vector) test failed");
} }
#endif
} }
return 0; return 0;