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

--- Comment #1 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:59d9aa6d2efe7c52b6a986eb3e1977c1fb3c5753

commit r11-8144-g59d9aa6d2efe7c52b6a986eb3e1977c1fb3c5753
Author: Patrick Palka <ppa...@redhat.com>
Date:   Mon Apr 12 22:54:55 2021 -0400

    c++: constraints are unevaluated operands [PR99961]

    According to [temp.concept]/6 and [temp.pre]/9, a concept definition and
    a requires clause are both unevaluated contexts, and hence satisfaction
    deals only with unevaluated operands, so we should set cp_unevaluated in
    these three situations.

    gcc/cp/ChangeLog:

            PR c++/99961
            PR c++/99994
            * constraint.cc (satisfy_normalized_constraints): Set
            cp_unevaluated.
            * parser.c (cp_parser_concept_definition): Likewise.
            (cp_parser_requires_clause_opt): Likewise.

    gcc/testsuite/ChangeLog:

            PR c++/99961
            PR c++/99994
            * g++.dg/cpp2a/concepts-uneval1.C: New test.
            * g++.dg/cpp2a/concepts-uneval2.C: New test.

Reply via email to