libstdc++: allocator traits on pmr gets allocate_at_least (P0401) [PR125890]

GCC 16.1's explicit specialization of std::allocator_traits on
std::pmr::polymorphic_allocator<T> lacks the required
definition of allocate_at_least. This patch provides it, and
tests for its presence in C++23 and up.

(Partly cherry-picked from r17-603-gacfdad706.)

libstdc++-v3/Changelog:
	PR libstdc++/125890
	* include/bits/memory_resource.h (allocate_at_least): Add to
	allocator_traits<pmr::polymorphic_allocator> specialization.
	* testsuite/20_util/polymorphic_allocator/at_least.cc: New test.

Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
2 files changed