This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r259124 - in /trunk/gcc: cp/ChangeLog cp/cp-tre...


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]