Make std::vector<bool> meet C++11 allocator requirements.
commit081db185ef94b45c72106e3725fe64de56b402d2
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Oct 2014 20:49:40 +0000 (31 20:49 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Oct 2014 20:49:40 +0000 (31 20:49 +0000)
treeb2e6ecad35b86d5807204670bcf8e10569378ee0
parent978e3209f5105a855fff642a0c5487713bab8a23
Make std::vector<bool> meet C++11 allocator requirements.

* include/bits/stl_bvector.h (_Bvector_base): Use allocator_traits.
(_Bvector_base::_Bvector_impl): Use allocator's pointer type.
(_Bvector_base::_M_end_addr()): Convert to raw pointer.
(vector<bool>): Use allocator_traits and _M_end_addr. Add allocator
extended constructors.
* include/bits/vector.tcc (vector<bool>): Use allocator_traits and
_M_end_addr.
* testsuite/23_containers/vector/bool/allocator/copy.cc: New.
* testsuite/23_containers/vector/bool/allocator/minimal.cc: New.
* testsuite/23_containers/vector/bool/allocator/noexcept.cc: New.
* testsuite/23_containers/vector/bool/allocator/copy_assign.cc: New.
* testsuite/23_containers/vector/bool/allocator/move.cc: New.
* testsuite/23_containers/vector/bool/allocator/swap.cc: New.
* testsuite/23_containers/vector/bool/allocator/ext_ptr.cc: New.
* testsuite/23_containers/vector/bool/allocator/move_assign.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216988 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_bvector.h
libstdc++-v3/include/bits/vector.tcc
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy_assign.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/ext_ptr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/minimal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move_assign.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/noexcept.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc [new file with mode: 0644]