https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98611
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-10 branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>: https://gcc.gnu.org/g:57b0df85b7e4b50198a8d3a09d57c52f0d994ba8 commit r10-9635-g57b0df85b7e4b50198a8d3a09d57c52f0d994ba8 Author: Patrick Palka <ppa...@redhat.com> Date: Tue Jan 12 09:34:41 2021 -0500 c++: Fix ICE with CTAD in concept [PR98611] This patch teaches cp_walk_subtrees to visit the template represented by a CTAD placeholder, which would otherwise be not visited during find_template_parameters. The template may be a template template parameter (as in the first testcase), or it may implicitly use the template parameters of an enclosing class template (as in the second testcase), and in either case we need to visit this tree to record the template parameters used therein for later satisfaction. gcc/cp/ChangeLog: PR c++/98611 * tree.c (cp_walk_subtrees) <case TEMPLATE_TYPE_PARM>: Visit the template of a CTAD placeholder. gcc/testsuite/ChangeLog: PR c++/98611 * g++.dg/cpp2a/concepts-ctad1.C: New test. * g++.dg/cpp2a/concepts-ctad2.C: New test. (cherry picked from commit e0bec6ceac47752616dd9fe0801344ed45db2fd3)