diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f07255f5593..60c90f753a9 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,11 @@ 2014-12-20 François Dumont + * include/debug/vector (std::__debug::vector<>::clear()): Do not reset + guaranteed capacity. + * testsuite/23_containers/vector/bool/allocator/swap.cc: Move + propagating_allocator equality and inequality operators to __gnu_test + namespace. + * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error. * include/bits/c++config: inline __cxx11 namespace within namespace diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector index f92a77fed11..174dd7a99fc 100644 --- a/libstdc++-v3/include/debug/vector +++ b/libstdc++-v3/include/debug/vector @@ -669,7 +669,6 @@ namespace __debug { _Base::clear(); this->_M_invalidate_all(); - this->_M_guaranteed_capacity = 0; } _Base& diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc index cedb24f5ab2..334b955decf 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc @@ -23,25 +23,28 @@ using T = bool; +namespace __gnu_test +{ + // It is undefined behaviour to swap() containers with unequal allocators + // if the allocator doesn't propagate, so ensure the allocators compare + // equal, while still being able to test propagation via get_personality(). + bool + operator==(const propagating_allocator&, + const propagating_allocator&) + { + return true; + } + + bool + operator!=(const propagating_allocator&, + const propagating_allocator&) + { + return false; + } +} + using __gnu_test::propagating_allocator; -// It is undefined behaviour to swap() containers wth unequal allocators -// if the allocator doesn't propagate, so ensure the allocators compare -// equal, while still being able to test propagation via get_personality(). -bool -operator==(const propagating_allocator&, - const propagating_allocator&) -{ - return true; -} - -bool -operator!=(const propagating_allocator&, - const propagating_allocator&) -{ - return false; -} - void test01() { bool test __attribute__((unused)) = true;