[c++-concepts] Semantic handling of requirements

Andrew Sutton andrew.n.sutton@gmail.com
Mon Mar 11 16:25:00 GMT 2013


Adding initial support for the semantic analysis of template
requirements. This patch adds features for reducing requires clauses
into logical formulas comprised only of atomic propositions and
logical connectives.

The next patch will add inlining for constraint predicates.

I had hoped to add the file as constraint.cc, but the build system in
this version doesn't seem to have to build support for .cc files (kept
getting "no such file: cp/constraint.o", but adding the file as .c
worked just fine.


2013-03-11  Andrew Sutton  <andrew.n.sutton@gmail.com>
        * gcc/cp/Make-lang.in: Add constraint.c
        * gcc/cp/constraint.c: New
        (conjoin_requirements): New
        (disjoin_requirements): New
        (requirement_reduction): New class
        (reduce_requirements): New
        * gcc/cp/cp-tree.h (reduce_requrements): New
        (conjoin_requirements): New
        (disjoin_requirements): New
        * gcc/cp/cp-tree.h (finish_template_template_parm) Comments.
        * gcc/cp/semantics.c (finish_template_requirements) Start
        working with requirements.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reqs-sem.patch
Type: application/octet-stream
Size: 11467 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20130311/e0170241/attachment.obj>


More information about the Gcc-patches mailing list