https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94306
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>: https://gcc.gnu.org/g:7981c06ae92548bd66f07121db1802eb6aec73ed commit r10-7442-g7981c06ae92548bd66f07121db1802eb6aec73ed Author: Patrick Palka <ppa...@redhat.com> Date: Sat Mar 28 08:57:11 2020 -0400 c++: Diagnose when "requires" is used instead of "requires requires" [PR94306] This adds support to detect and recover from the case where an opening brace immediately follows the start of a requires-clause. So rather than emitting the error error: expected primary-expression before '{' token followed by a slew of irrevelant errors, we now assume the user had intended to write "requires requires {" and diagnose and recover accordingly. gcc/cp/ChangeLog: PR c++/94306 * parser.c (cp_parser_requires_clause_opt): Diagnose and recover from "requires {" when "requires requires {" was probably intended. gcc/testsuite/ChangeLog: PR c++/94306 * g++.dg/concepts/diagnostic8.C: New test.