https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70417
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:b8ffa71e4271ae562c2d315b9b24c4979bbf8227 commit r12-6563-gb8ffa71e4271ae562c2d315b9b24c4979bbf8227 Author: Anthony Sharp <anthonyshar...@gmail.com> Date: Sat Dec 4 17:23:22 2021 +0000 c++: warning for dependent template members [PR70417] Add a helpful warning message for when the user forgets to include the "template" keyword after ., -> or :: when accessing a member in a dependent context, where the member is a template. PR c++/70417 gcc/c-family/ChangeLog: * c.opt: Added -Wmissing-template-keyword. gcc/cp/ChangeLog: * parser.c (cp_parser_id_expression): Handle -Wmissing-template-keyword. (struct saved_token_sentinel): Add modes to control what happens on destruction. (cp_parser_statement): Adjust. (cp_parser_skip_entire_template_parameter_list): New function that skips an entire template parameter list. (cp_parser_require_end_of_template_parameter_list): Rename old cp_parser_skip_to_end_of_template_parameter_list. (cp_parser_skip_to_end_of_template_parameter_list): Refactor to be called from one of the above two functions. (cp_parser_lambda_declarator_opt) (cp_parser_explicit_template_declaration) (cp_parser_enclosed_template_argument_list): Adjust. gcc/ChangeLog: * doc/invoke.texi: Documentation for Wmissing-template-keyword. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/variadic-mem_fn2.C: Catch warning about missing template keyword. * g++.dg/template/dependent-name17.C: New test. * g++.dg/template/dependent-name18.C: New test. Co-authored-by: Jason Merrill <ja...@redhat.com>