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