diff options
author | Anthony Sharp <anthonysharp15@gmail.com> | 2021-12-04 17:23:22 +0000 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2022-01-13 16:01:52 -0500 |
commit | b8ffa71e4271ae562c2d315b9b24c4979bbf8227 (patch) | |
tree | aebd29fe180c0bd88e3634cb2fb5315cf645eb60 /gcc/fold-const.c | |
parent | 7a7d8c3f6167fd45658ddbfa32adcfd2acc98eb4 (diff) | |
download | gcc-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