From: Patrick Palka Date: Mon, 24 Jan 2022 16:47:13 +0000 (-0500) Subject: c++: Fix non-portable default argument of make_auto_1 [PR104197] X-Git-Tag: basepoints/gcc-13~1466 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1aa2a3cf1ba233ccd5a49fde85a2ca7e5f620e9;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc index bba62a5800ab..8f50b9c4d3c2 100644 --- a/gcc/cp/pt.cc +++ b/gcc/cp/pt.cc @@ -28477,9 +28477,10 @@ make_args_non_dependent (vec *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);