From: Jason Merrill Date: Fri, 13 May 2022 01:28:47 +0000 (-0400) Subject: c++: parsing injected-class-name as template X-Git-Tag: basepoints/gcc-14~6743 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87e1f023aae945aedd7ea046e06b4f52318913f7;p=thirdparty%2Fgcc.git c++: parsing injected-class-name as template While I was backporting the patch for PR102300, it occurred to me that it would be cleaner to look through the injected-class-name earlier in the function. I don't think this changes any test results. gcc/cp/ChangeLog: * parser.cc (cp_parser_template_name): Look through injected-class-name. --- diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc index 8969ed0076a..d4dab6cf84e 100644 --- a/gcc/cp/parser.cc +++ b/gcc/cp/parser.cc @@ -18646,6 +18646,9 @@ cp_parser_template_name (cp_parser* parser, (9.3.4), or in a type-only context other than a nested-name-specifier (13.8). */ + /* Handle injected-class-name. */ + decl = maybe_get_template_decl_from_type_decl (decl); + /* If DECL is a template, then the name was a template-name. */ if (TREE_CODE (decl) == TEMPLATE_DECL) {