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

--- Comment #5 from CVS 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:3c4a54adb2164315d18fd8980c0fc37eb3d22252

commit r12-6697-g3c4a54adb2164315d18fd8980c0fc37eb3d22252
Author: Patrick Palka <ppa...@redhat.com>
Date:   Tue Jan 18 14:50:06 2022 -0500

    c++: DEPENDENT_OPERATOR_TYPE as type of NTTP [PR104074]

    We're incorrectly rejecting the below testcase during template argument
    coercion because invalid_nontype_parm_type_p returns true for
    DEPENDENT_OPERATOR_TYPE in C++17 mode.

    This patch fixes this by partially rewriting invalid_nontype_parm_type_p
    in terms of WILDCARD_TYPE_P, for which DEPENDENT_OPERATOR_TYPE is true,
    so that the predicate handles wildcard types consistently.

            PR c++/104074

    gcc/cp/ChangeLog:

            * pt.cc (invalid_nontype_parm_type_p): Use WILDCARD_TYPE_P so
            that we return false for DEPENDENT_OPERATOR_TYPE too.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp1z/nontype-auto20.C: New test.

Reply via email to