mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-29 19:07:15 +02:00
Add workaround for gcc-5.4 deficiencies in copy elision and new() construction
This commit is contained in:
@ -114,7 +114,11 @@ namespace {
|
||||
});
|
||||
|
||||
BOOST_TEST_EQ(raii::default_constructor, 2 * values2.size());
|
||||
#if BOOST_WORKAROUND(BOOST_GCC_VERSION, != 50400)
|
||||
// some versions of old gcc have trouble eliding copies here
|
||||
// https://godbolt.org/z/Ebo6TbvaG
|
||||
BOOST_TEST_EQ(raii::copy_constructor, 0u);
|
||||
#endif
|
||||
BOOST_TEST_EQ(raii::copy_assignment, 0u);
|
||||
BOOST_TEST_EQ(raii::move_assignment, 0u);
|
||||
}
|
||||
@ -397,7 +401,9 @@ namespace {
|
||||
BOOST_TEST_EQ(num_invokes, values.size() - x.size());
|
||||
|
||||
BOOST_TEST_EQ(raii::default_constructor, 2 * values2.size());
|
||||
#if BOOST_WORKAROUND(BOOST_GCC_VERSION, != 50400)
|
||||
BOOST_TEST_EQ(raii::copy_constructor, 0u);
|
||||
#endif
|
||||
BOOST_TEST_GT(raii::move_constructor, 0u);
|
||||
}
|
||||
} iterator_range_insert_or_cvisit;
|
||||
@ -425,7 +431,9 @@ namespace {
|
||||
BOOST_TEST_EQ(num_invokes, values.size() - x.size());
|
||||
|
||||
BOOST_TEST_EQ(raii::default_constructor, 2 * values2.size());
|
||||
#if BOOST_WORKAROUND(BOOST_GCC_VERSION, != 50400)
|
||||
BOOST_TEST_EQ(raii::copy_constructor, 0u);
|
||||
#endif
|
||||
BOOST_TEST_GT(raii::move_constructor, 0u);
|
||||
}
|
||||
} iterator_range_insert_or_visit;
|
||||
|
Reference in New Issue
Block a user