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.
21 (IMPLICIT_CONCEPT_P): New.
22 (EXPLICIT_CONCEPT_P): New.
23 (struct lang_type_class): Add use_concept field; update dummy
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.