Commit 3c4a54ad authored by Patrick Palka's avatar Patrick Palka
Browse files

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
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment