diff options
author | Patrick Palka <ppalka@redhat.com> | 2022-12-04 10:47:24 -0500 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2022-12-04 10:47:24 -0500 |
commit | 079add3ad39d6620d34665dd9c26c21951eb657c (patch) | |
tree | 9e4ac7a35e7dea9e6a58a4c1f4e14130d09aad19 /gcc/range-op-float.cc | |
parent | a044c9d25972b22c6b4c8ec27f2de5fd622573cc (diff) | |
download | gcc-079add3ad39d6620d34665dd9c26c21951eb657c.zip gcc-079add3ad39d6620d34665dd9c26c21951eb657c.tar.gz gcc-079add3ad39d6620d34665dd9c26c21951eb657c.tar.bz2 |
c++: pack in requires-expr parm list [PR107417]
Here find_parameter_packs_r isn't detecting the pack T inside the
requires-expr's parameter list ultimately because cp_walk_trees
deliberately avoids walking the list so as to avoid false positives in
the unexpanded pack checker.
But it should still be fine to walk the TREE_TYPE of each parameter,
which we already need to do from for_each_template_parm_r, and is
sufficient to fix the testcase.
PR c++/107417
gcc/cp/ChangeLog:
* pt.cc (for_each_template_parm_r) <case REQUIRES_EXPR>: Move
walking of the TREE_TYPE of each parameter to ...
* tree.cc (cp_walk_subtrees) <case REQUIRES_EXPR>: ... here.
gcc/testsuite/ChangeLog:
* g++.dg/cpp2a/concepts-requires33.C: New test.
Diffstat (limited to 'gcc/range-op-float.cc')
0 files changed, 0 insertions, 0 deletions