c++: implement C++20 Disambiguating Nested-Requirements (P2092R0)
authorJason Merrill <jason@redhat.com>
Fri, 28 Feb 2020 22:39:42 +0000 (17:39 -0500)
committerJason Merrill <jason@redhat.com>
Sat, 29 Feb 2020 05:43:23 +0000 (00:43 -0500)
commit117baab87711553e36074f624861c2d034af8b6c
treeb2b671f9382b24425c625926419418759df99f25
parent96ad5fb8bc95cde6e163253fecccb094c463290f
c++: implement C++20 Disambiguating Nested-Requirements (P2092R0)

The rule change in the title matches GCC's current behavior, so no change
was needed.  But the paper also makes 'typename' optional in a
requirement-parameter-list, so this implements that.

gcc/cp/ChangeLog
2020-02-28  Jason Merrill  <jason@redhat.com>

Implement P2092R0, Disambiguating Nested-Requirements
* parser.c (cp_parser_requirement_parameter_list): Pass
CP_PARSER_FLAGS_TYPENAME_OPTIONAL.
gcc/cp/ChangeLog
gcc/cp/parser.c
gcc/testsuite/g++.dg/cpp2a/concepts-p2092.C [new file with mode: 0644]