diff options
author | Patrick Palka <ppalka@redhat.com> | 2021-04-12 22:54:55 -0400 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2021-04-12 22:54:55 -0400 |
commit | 59d9aa6d2efe7c52b6a986eb3e1977c1fb3c5753 (patch) | |
tree | 1d4c31e21078391baa8efb51ede1013c6034918c /libcpp | |
parent | 07b27384de56ce2f6a93007d018743ef9d5c8cc4 (diff) | |
download | gcc-59d9aa6d2efe7c52b6a986eb3e1977c1fb3c5753.zip gcc-59d9aa6d2efe7c52b6a986eb3e1977c1fb3c5753.tar.gz gcc-59d9aa6d2efe7c52b6a986eb3e1977c1fb3c5753.tar.bz2 |
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.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions