* include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
commit7deb91c75a1c9de5bf46a5c959e5e709173ee639
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Jan 2014 14:57:35 +0000 (29 14:57 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Jan 2014 14:57:35 +0000 (29 14:57 +0000)
tree9e1fd6bd9e76ef396f73230c2bc16361ea341289
parentb904104cb8c81fcd196aa64cde69663157de4be0
* include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
not use varargs when argument could be non-POD.
(__alloctr_rebind_helper): Eliminate static const bool member by
using true_type and false_type.
(allocator_traits::__allocate_helper): Likewise.
(allocator_traits::__construct_helper): Likewise.
(allocator_traits::__destroy_helper): Likewise.
(allocator_traits::__maxsize_helper): Likewise.
(allocator_traits::__select_helper): Likewise.
* include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
* include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
Remove redundant condition.
* include/bits/stl_vector.h (vector::operator=(const vector&)):
Likewise.
(_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
indirection through __alloc_traits.
* include/ext/alloc_traits.h (__allocator_always_compares_equal):
Eliminate static const bool members by using true_type and false_type.
(__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
* testsuite/util/testsuite_allocator.h (PointerBase): Define.
* testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
New.
* testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207240 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/alloc_traits.h
libstdc++-v3/include/bits/ptr_traits.h
libstdc++-v3/include/bits/stl_tree.h
libstdc++-v3/include/bits/stl_vector.h
libstdc++-v3/include/ext/alloc_traits.h
libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/util/testsuite_allocator.h