https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84942
--- Comment #5 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- Author: aoliva Date: Fri Mar 23 01:18:48 2018 New Revision: 258790 URL: https://gcc.gnu.org/viewcvs?rev=258790&root=gcc&view=rev Log: Disable auto_is_implicit_function_template_parm_p while parsing attributes We don't want functions to become implicit templates just because of random uses of auto in unexpected places. Disabling the special handling of auto while parsing attributes, for example, makes for more sensible errors. for gcc/cp/ChangeLog PR c++/84610 PR c++/84642 PR c++/84942 * cp-tree.h (temp_override): New template class, generalizing a cleanup that was only used... * parser.c (cp_parser_parameter_declaration_clause): ... here for auto_is_implicit_function_template_parm_p. (cp_parser_gnu_attributes_opt): Use it here as well. (cp_parser_std_attribute): Likewise. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/parser.c