2008-01-25 Douglas Gregor <doug.gregor@gmail.com>
[official-gcc.git] / gcc / cp / ChangeLog.concepts
blob7be1447b78c056b30ba8359230e70b2e675436ac
1 2008-01-25  Douglas Gregor  <doug.gregor@gmail.com>
3         * decl.c (tag_name): concept_type -> "concept"
4         (xref_tag): concepts are stored as RECORD_TYPE nodes.
5         * pt.c (lookup_template_class): When creating a new type for a
6         concept, mark it as a concept-id.
7         * concept.c (begin_concept_definition): New.
8         (check_refinement): New.
9         (xref_refinements): New.
10         (finish_concept_definition): New.
11         * parser.c (cp_parser_declaration): Parse concepts.
12         (cp_parser_concept_definition): New.
13         (cp_parser_refinement_clause): New.
14         (cp_parser_refinement_specifier): New.
15         (cp_parser_concept_body): New, stub.
16         * config-lang.in (gtfiles): Add cp/concept.c.
17         * Make-lang.in (cp/concept.o): New, add to front end.
18         * cp-tree.h (enum concept_kind): New.
19         (CLASSTYPE_USE_CONCEPT): New.
20         (CONCEPT_P): New.
21         (IMPLICIT_CONCEPT_P): New.
22         (EXPLICIT_CONCEPT_P): New.
23         (struct lang_type_class): Add use_concept field; update dummy
24         bits.
25         (enum tag_types): Add concept_type tag.
26         (begin_concept_definition): Declare.
27         (xref_refinements): Declare.
28         (finish_concept_definition): Declare.
30 2008-01-24  Douglas Gregor  <doug.gregor@gmail.com>
32         * lex.c (reswords): Add concepts keywords as reserved words.