c++: Fix non-portable default argument of make_auto_1 [PR104197]

Avoid using the macro current_template_depth, which expands to an
expression that uses __FUNCTION__, within the signature of a function.

	PR c++/104197

gcc/cp/ChangeLog:

	* pt.cc (make_auto_1): Use -1 as a placeholder default argument
	for level.
This commit is contained in:
Patrick Palka
2022-01-24 11:47:13 -05:00
parent 2a908f3da0
commit b1aa2a3cf1
+3 -2
View File
@@ -28477,9 +28477,10 @@ make_args_non_dependent (vec<tree, va_gc> *args)
by default. If set_canonical is true, we set TYPE_CANONICAL on it. */
static tree
make_auto_1 (tree name, bool set_canonical,
int level = current_template_depth + 1)
make_auto_1 (tree name, bool set_canonical, int level = -1)
{
if (level == -1)
level = current_template_depth + 1;
tree au = cxx_make_type (TEMPLATE_TYPE_PARM);
TYPE_NAME (au) = build_decl (input_location, TYPE_DECL, name, au);
TYPE_STUB_DECL (au) = TYPE_NAME (au);