This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [c++-concepts] Parsing for template requirements
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: Andrew Sutton <andrew dot n dot sutton at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Gabriel Dos Reis <gdr at axiomatics dot org>, Jason Merrill <jason at redhat dot com>
- Date: Fri, 1 Mar 2013 11:09:36 -0600
- Subject: Re: [c++-concepts] Parsing for template requirements
- References: <CANq5SyviHcvwfBdFKbUK9JCrx=_8a-0j4qDn5hVHAW3ixqrE3g@mail.gmail.com>
On Fri, Mar 1, 2013 at 10:12 AM, Andrew Sutton
<andrew.n.sutton@gmail.com> wrote:
> Two patches attached.
>
> The reqs-parsing patch adds parsing support for template requirements
> (i.e., requires clauses). This is supported for all template
> declarations and non-template member functions of class templates.
> Grammar changes are documented in comments. Semantic processing of
> constraints is stubbed out for the time being.
>
> The flags patch just enables -fconcepts by default.
>
> The combined change log is:
>
> 2013-03-01 Andrew Sutton <andrew.n.sutton@gmail.com>
Patch OK, thanks. Please adjust the paths in the log to include
the directories -- since everything is going in the toplevel ChangeLog.concepts.
-- Gaby
>
> * cp-tree.h (saved_scope): Add template requirements.
> (finish_template_requirements): Declare
> * parser.c (cp_parser_template_requirement_opt): Declare.
> (cp_parser_template_declaration): Document grammar extensions.
> (cp_parser_type_parameter): Parse requirements for template
> template parameters.
> (cp_parser_member_declaration): Parse requirements for
> members of class templates.
> (cp_parser_template_requirement_opt): Define.
> (cp_parser_template_declaration_after_exp): Parse requirements
> for template declarations.
> * semantics.c (finish_template_requirements): Define.
> * lex.c (cxx_init): Enable concepts by default.