https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84979
--- Comment #4 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- Author: aoliva Date: Thu Apr 5 04:26:36 2018 New Revision: 259124 URL: https://gcc.gnu.org/viewcvs?rev=259124&root=gcc&view=rev Log: [PR c++/84979] reject auto in explicit tmpl args for tmpl-fn With concepts, we accept auto in explicit template arguments, but we should only accept them for template classes. Passing them to template functions or variables is not allowed. So, reject it, at parse time if possible, at specialization time otherwise. for gcc/cp/ChangeLog PR c++/84979 * pt.c (check_auto_in_tmpl_args): New. (tsubst_qualified_id): Use it to reject template args referencing auto for non-type templates. * parser.c (cp_parser_template_id): Likewise. * cp-tree.h (check_auto_in_tmpl_args): Declare. * typeck2.c (build_functional_cast): Report correct location for invalid use of auto. for gcc/testsuite/ChangeLog PR c++/84979 * g++.dg/concepts/pr84979.C: New. * g++.dg/concepts/pr84979-2.C: New. * g++.dg/concepts/pr84979-3.C: New. Added: trunk/gcc/testsuite/g++.dg/concepts/pr84979-2.C trunk/gcc/testsuite/g++.dg/concepts/pr84979-3.C trunk/gcc/testsuite/g++.dg/concepts/pr84979.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/parser.c trunk/gcc/cp/pt.c trunk/gcc/cp/typeck2.c trunk/gcc/testsuite/ChangeLog