aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorAnthony Sharp <anthonysharp15@gmail.com>2021-12-04 17:23:22 +0000
committerJason Merrill <jason@redhat.com>2022-01-13 16:01:52 -0500
commitb8ffa71e4271ae562c2d315b9b24c4979bbf8227 (patch)
treeaebd29fe180c0bd88e3634cb2fb5315cf645eb60 /gcc/fold-const.c
parent7a7d8c3f6167fd45658ddbfa32adcfd2acc98eb4 (diff)
downloadgcc-b8ffa71e4271ae562c2d315b9b24c4979bbf8227.zip
gcc-b8ffa71e4271ae562c2d315b9b24c4979bbf8227.tar.gz
gcc-b8ffa71e4271ae562c2d315b9b24c4979bbf8227.tar.bz2
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 <jason@redhat.com>
Diffstat (limited to 'gcc/fold-const.c')
0 files changed, 0 insertions, 0 deletions