From: François Dumont Date: Sat, 20 Dec 2014 19:16:03 +0000 (+0000) Subject: vector (std::__debug::vector<>::clear()): Do not reset guaranteed capacity. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a5ebfd3e2ad8b429165afb90ffe0a91fe790ff2c;p=gcc.git vector (std::__debug::vector<>::clear()): Do not reset guaranteed capacity. 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. From-SVN: r218991 --- 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; -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&) +namespace __gnu_test { - return true; -} + // 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; + bool + operator!=(const propagating_allocator&, + const propagating_allocator&) + { + return false; + } } +using __gnu_test::propagating_allocator; + void test01() { bool test __attribute__((unused)) = true;