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.

Reply via email to