[Bug c++/94480] [10 Regression] ICE in cp_parser_abort_tentative_parse, at cp/parser.c:31858

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Apr 8 05:12:18 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94480

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jason Merrill <jason@gcc.gnu.org>:

https://gcc.gnu.org/g:845d451e1f73d8a9a84382c3c6d4fca9c8220403

commit r10-7612-g845d451e1f73d8a9a84382c3c6d4fca9c8220403
Author: Jason Merrill <jason@redhat.com>
Date:   Tue Apr 7 00:45:26 2020 -0400

    c++: requires-expression and tentative parse [PR94480]

    The problem here was that cp_parser_requires_expression committing to a
    tentative parse confused cp_parser_decltype_expr, which needs to still be
    tentative.  The only reason to commit here is to get syntax errors within
    the requires-expression, which we can still do when the commit is
firewalled
    from the enclosing context.

    gcc/cp/ChangeLog
    2020-04-07  Jason Merrill  <jason@redhat.com>

            PR c++/94480
            * parser.c (cp_parser_requires_expression): Use tentative_firewall.


More information about the Gcc-bugs mailing list