aboutsummaryrefslogtreecommitdiff
path: root/libcpp/identifiers.c
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2018-08-15 20:20:02 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2018-08-15 20:20:02 +0100
commitb479fbad246b04fca27175415cfafe40404443d2 (patch)
tree5014786303603f6b806ed4b037cd19d751a09ec9 /libcpp/identifiers.c
parent96e6ae576c48cd8efc26670b0d0bbb9e961393bf (diff)
downloadgcc-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