diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-08-15 20:20:02 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2018-08-15 20:20:02 +0100 |
commit | b479fbad246b04fca27175415cfafe40404443d2 (patch) | |
tree | 5014786303603f6b806ed4b037cd19d751a09ec9 /libcpp/identifiers.c | |
parent | 96e6ae576c48cd8efc26670b0d0bbb9e961393bf (diff) | |
download | gcc-b479fbad246b04fca27175415cfafe40404443d2.zip gcc-b479fbad246b04fca27175415cfafe40404443d2.tar.gz gcc-b479fbad246b04fca27175415cfafe40404443d2.tar.bz2 |
Refactor uses-allocator construction
Remove duplicated logic in experimental::pmr::polymorphic_allocator by
calling the __uses_allocator_construct helper.
Fix bugs in std::pmr::polymorphic_allocator with incorrect SFINAE
constraint and incorrect argument order.
* include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
calls to __uses_allocator_construct_impl and __use_alloc.
* include/experimental/memory_resource
(polymorphic_allocator::_M_construct): Remove.
(polymorphic_allocator::construct): Call __uses_allocator_construct.
Qualify calls to __use_alloc.
* include/std/memory_resource (polymorphic_allocator::construct): Fix
type in SFINAE constraint. Use constexpr if instead of tag dispatching
to _S_construct overloads.
(polymorphic_allocator::construct(pair<T1, T2>*, ...)): Fix order of
arguments to _S_construct_p.
(polymorphic_allocator::_S_construct): Remove.
(polymorphic_allocator::_S_construct_p): Return allocators by value
not by reference.
* include/std/scoped_allocator (scoped_allocator_adaptor::construct):
Qualify calls to __use_alloc.
* testsuite/20_util/polymorphic_allocator/construct_pair.cc: New test,
copied from testsuite/20_util/scoped_allocator/construct_pair.cc.
* testsuite/experimental/polymorphic_allocator/1.cc: New test.
* testsuite/experimental/polymorphic_allocator/construct_pair.cc:
New test.
From-SVN: r263566
Diffstat (limited to 'libcpp/identifiers.c')
0 files changed, 0 insertions, 0 deletions