r229860 - in /trunk/gcc: cp/ChangeLog cp/constr...
jason@gcc.gnu.org
jason@gcc.gnu.org
Fri Nov 6 16:21:00 GMT 2015
Author: jason
Date: Fri Nov 6 16:21:29 2015
New Revision: 229860
URL: https://gcc.gnu.org/viewcvs?rev=229860&root=gcc&view=rev
Log:
Support non-type constrained-type-specifiers.
* parser.c (check_type_concept): Remove.
(cp_parser_maybe_constrained_type_specifier): Don't call it.
(synthesize_implicit_template_parm): Handle non-type and template
template parameters. Also compare extra args. Return the decl.
(cp_parser_template_argument): Handle constrained-type-specifiers for
non-type template parameters.
(finish_constrained_template_template_parm): Split out from
cp_parser_constrained_template_template_parm.
(cp_parser_nonclass_name): Move some logic into
cp_parser_maybe_concept_name.
(cp_parser_init_declarator): Fix error recovery.
(get_concept_from_constraint): Remove.
(cp_parser_simple_type_specifier): Adjust for
synthesize_implicit_template_parm returning the decl.
* constraint.cc (placeholder_extract_concept_and_args)
(equivalent_placeholder_constraints): Also handle TYPE_DECL
constrained parms.
Added:
trunk/gcc/testsuite/g++.dg/concepts/placeholder6.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/constraint.cc
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/g++.dg/concepts/generic-fn-err.C
More information about the Gcc-cvs
mailing list