partial-concept-ids

Andrew Sutton andrew.n.sutton@gmail.com
Thu Jun 12 20:45:00 GMT 2014


Add support for partial concept ids. Mostly this just refactors the
basic support for concept names to also allow a template and extra
arguments.

Also added the missing .exp file for the test suite.

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.

Andrew Sutton
-------------- next part --------------
A non-text attachment was scrubbed...
Name: partial-1.patch
Type: text/x-patch
Size: 14293 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140612/f46ac803/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: partial-test-1.patch
Type: text/x-patch
Size: 2933 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140612/f46ac803/attachment-0001.bin>


More information about the Gcc-patches mailing list