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.
parent
dad495e3
Please register or sign in to comment