r211591 - in /branches/c++-concepts: ChangeLog....
asutton@gcc.gnu.org
asutton@gcc.gnu.org
Thu Jun 12 20:42:00 GMT 2014
Author: asutton
Date: Thu Jun 12 20:42:37 2014
New Revision: 211591
URL: http://gcc.gnu.org/viewcvs?rev=211591&root=gcc&view=rev
Log:
2014-06-12 Andrew Sutton <andrew.n.sutton@gmail.com>
* gcc/cp/constraint.cc (deduce_constrained_parameter): Refactor
common deduction framework into separate function.
(build_call_check): New.
(build_concept_check): Take additional arguments to support the
creation of constrained-type-specifiers from partial-concept-ids.
(build_constrained_parameter): Take arguments from a partial-concept-id.
* gcc/cp/cp-tree.h (build_concept_check, biuld_constrained_parameter):
Take a template argument list, defaulting to NULL_TREE.
* gcc/cp/parser.c (cp_parser_template_id): Check to see if a
template-id is a concept check.
(cp_check_type_concept): Reorder arguments
(cp_parser_allows_constrained_type_specifier): New. Check contexts
where a constrained-type-specifier is allowed.
(cp_maybe_constrained_type_specifier): New. Refactored common rules
for concept name checks.
(cp_maybe_partial_concept_id): New. Check for
constrained-type-specifiers.
* gcc/testuite/g++.dg/concepts/partial.C: New tests.
* gcc/testuite/g++.dg/concepts/partial-err.C: New tests.
* gcc/testuite/g++.dg/concepts/concepts.exp: Add missing test driver.
Added:
branches/c++-concepts/gcc/testsuite/g++.dg/concepts/concepts.exp
branches/c++-concepts/gcc/testsuite/g++.dg/concepts/partial-err.C
branches/c++-concepts/gcc/testsuite/g++.dg/concepts/partial.C
Modified:
branches/c++-concepts/ChangeLog.concepts
branches/c++-concepts/gcc/cp/constraint.cc
branches/c++-concepts/gcc/cp/cp-tree.h
branches/c++-concepts/gcc/cp/parser.c
More information about the Gcc-cvs
mailing list