diff options
author | Patrick Palka <ppalka@redhat.com> | 2025-04-04 14:03:58 -0400 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2025-04-04 14:03:58 -0400 |
commit | 6e973e87e3fec6f33e97edf8fce2fcd121e53961 (patch) | |
tree | a65abf9c77f3235b7be7fab7b45e6d99b8b55f00 /libjava/classpath/lib | |
parent | ae4c22ab05501940e345ee799be3aa36ffa7269a (diff) | |
download | gcc-6e973e87e3fec6f33e97edf8fce2fcd121e53961.zip gcc-6e973e87e3fec6f33e97edf8fce2fcd121e53961.tar.gz gcc-6e973e87e3fec6f33e97edf8fce2fcd121e53961.tar.bz2 |
c++: constraint variable used in evaluated context [PR117849]
Here we wrongly reject the type-requirement at parse time due to its use
of the constraint variable 't' within a template argument (an evaluated
context). Fix this simply by refining the "use of parameter outside
function body" error path to exclude constraint variables.
PR c++/104255 tracks the same issue for function parameters, but fixing
that would be more involved, requiring changes to the PARM_DECL case of
tsubst_expr.
PR c++/117849
gcc/cp/ChangeLog:
* semantics.cc (finish_id_expression_1): Allow use of constraint
variable outside an unevaluated context.
gcc/testsuite/ChangeLog:
* g++.dg/cpp2a/concepts-requires41.C: New test.
Reviewed-by: Jason Merrill <jason@redhat.com>
Diffstat (limited to 'libjava/classpath/lib')
0 files changed, 0 insertions, 0 deletions