vector (std::__debug::vector<>::clear()): Do not reset guaranteed capacity.
2014-12-20 François Dumont <fdumont@gcc.gnu.org> * 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
This commit is contained in:
parent
aa1986fac1
commit
a5ebfd3e2a
3 changed files with 26 additions and 18 deletions
|
@ -1,5 +1,11 @@
|
|||
2014-12-20 François Dumont <fdumont@gcc.gnu.org>
|
||||
|
||||
* 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
|
||||
|
|
|
@ -669,7 +669,6 @@ namespace __debug
|
|||
{
|
||||
_Base::clear();
|
||||
this->_M_invalidate_all();
|
||||
this->_M_guaranteed_capacity = 0;
|
||||
}
|
||||
|
||||
_Base&
|
||||
|
|
|
@ -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<T, false>&,
|
||||
const propagating_allocator<T, false>&)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
operator!=(const propagating_allocator<T, false>&,
|
||||
const propagating_allocator<T, false>&)
|
||||
{
|
||||
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<T, false>&,
|
||||
const propagating_allocator<T, false>&)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
operator!=(const propagating_allocator<T, false>&,
|
||||
const propagating_allocator<T, false>&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void test01()
|
||||
{
|
||||
bool test __attribute__((unused)) = true;
|
||||
|
|
Loading…
Add table
Reference in a new issue