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.