aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/contracts.adb
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2020-06-01 21:37:04 -0400
committerPatrick Palka <ppalka@redhat.com>2020-06-01 21:37:04 -0400
commitc2449995ca36ea955e3c6d4ee7f0d401b512c897 (patch)
tree5e828f15585a6625a8755ae0e91d6c2ffed80daf /gcc/ada/contracts.adb
parent4a9aa9dec7fc413654807890061a4d7df8a1c5e7 (diff)
downloadgcc-c2449995ca36ea955e3c6d4ee7f0d401b512c897.zip
gcc-c2449995ca36ea955e3c6d4ee7f0d401b512c897.tar.gz
gcc-c2449995ca36ea955e3c6d4ee7f0d401b512c897.tar.bz2
c++: constrained lambda inside template [PR92633]
When regenerating a constrained lambda during instantiation of an enclosing template, we are forgetting to substitute into the lambda's constraints. Fix this by substituting through the constraints during tsubst_lambda_expr. gcc/cp/ChangeLog: PR c++/92633 PR c++/92838 * pt.c (tsubst_function_decl): Don't do set_constraints when regenerating a lambda. (tsubst_lambda_expr): Substitute into the lambda's constraints and do set_constraints here. gcc/testsuite/ChangeLog: PR c++/92633 PR c++/92838 * g++.dg/cpp2a/concepts-lambda11.C: New test. * g++.dg/cpp2a/concepts-lambda12.C: New test.
Diffstat (limited to 'gcc/ada/contracts.adb')
0 files changed, 0 insertions, 0 deletions