r271082 - in /branches/gcc-9-branch/libstdc++-v...

redi@gcc.gnu.org redi@gcc.gnu.org
Fri May 10 22:23:00 GMT 2019


Author: redi
Date: Fri May 10 22:23:06 2019
New Revision: 271082

URL: https://gcc.gnu.org/viewcvs?rev=271082&root=gcc&view=rev
Log:
Tweak C++2a uses-allocator construction utilities

The 20_util/scoped_allocator/69293_neg.cc test was failing in C++2a mode
because the expected static_assert text wasn't matched. The code is
still ill-formed in C++2a, but uses the new __uses_alloc_args function
and so fails a different static_assert. This patch adds the same string
to the new static_assert, so the test passes.

Now that G++ allows concepts to be declared without 'bool' we can use
the correct C++2a syntax for the _Std_pair concept used to constrain the
uses-allocator construction utilities.

Also add a new test to verify that pmr::polymorphic_allocator correctly
performs recursive uses-allocator construction for nested pairs in
C++2a.

Backport from mainline
2019-04-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/memory (__uses_alloc_args): Add string-literal to
	static_assert, to match the one in __uses_alloc.
	[__cpp_concepts] (_Std_pair): Use C++2a syntax for concept.
	* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: Check
	for recursive uses-allocator construction of nested pairs.
	* testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:: Add
	comment.

Modified:
    branches/gcc-9-branch/libstdc++-v3/ChangeLog
    branches/gcc-9-branch/libstdc++-v3/include/std/memory
    branches/gcc-9-branch/libstdc++-v3/testsuite/20_util/polymorphic_allocator/construct_c++2a.cc
    branches/gcc-9-branch/libstdc++-v3/testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc



More information about the Libstdc++-cvs mailing list