]> git.ipfire.org Git - thirdparty/gcc.git/commit
Support non-type constrained-type-specifiers.
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Nov 2015 16:21:29 +0000 (16:21 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Nov 2015 16:21:29 +0000 (16:21 +0000)
commitfc52c3102d1857f4963bc7e9279b5f1ebd2195bd
tree89ef5af8fb6b67cce2a04c31f33cef0cc93af5af
parent00a8cb04d0c5c081c9c8f2567d5fee019bf82af5
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229860 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/constraint.cc
gcc/cp/parser.c
gcc/testsuite/g++.dg/concepts/generic-fn-err.C
gcc/testsuite/g++.dg/concepts/placeholder6.C [new file with mode: 0644]