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

--- Comment #16 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>:

https://gcc.gnu.org/g:27d620d67697157f2269f3add4cb830540ac5795

commit r15-6740-g27d620d67697157f2269f3add4cb830540ac5795
Author: Patrick Palka <ppa...@redhat.com>
Date:   Thu Jan 9 10:50:16 2025 -0500

    c++: tf_partial and instantiate_template [PR117887]

    Ever since r15-3530-gdfb63765e994be the extra-args mechanism now expects
    to see tf_partial whenever doing a partial substitution containing
    dependent arguments.  The below testcases show that instantiate_template
    for AT with args={T}/{T*} is neglecting to set it in that case, and we
    end up ICEing from add_extra_args during the subsequent full substitution.

    This patch makes instantiate_template set tf_partial accordingly.

            PR c++/117887

    gcc/cp/ChangeLog:

            * pt.cc (instantiate_template): Set tf_partial if arguments are
            dependent.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp2a/concepts-requires39.C: New test.
            * g++.dg/cpp2a/lambda-targ10.C: New test.

    Reviewed-by: Jason Merrill <ja...@redhat.com>

Reply via email to