https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98611

--- Comment #6 from Björn Sundin <bjornsundin02 at gmail dot com> ---
(In reply to CVS Commits from comment #5)
> The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>:
> 
> https://gcc.gnu.org/g:e0bec6ceac47752616dd9fe0801344ed45db2fd3
> 
> commit r11-6614-ge0bec6ceac47752616dd9fe0801344ed45db2fd3
> 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.

Brilliant! Appreciate you :). IsInstantiationOf is a very useful generic
concept that I'd love to be able to use in my project, so I'm happy this was
fixed.

Reply via email to