X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=entity_t.h;h=c0142ea078c7a406cf68b041071d0ef4750a661c;hb=39b28bb837edd66f04ccc8801414830607ea692d;hp=76ce5e667b3990c852d737e1c9a4ded4d94f8c61;hpb=4633337d25ebd26db4dc4034216acee7e22765e7;p=cparser diff --git a/entity_t.h b/entity_t.h index 76ce5e6..c0142ea 100644 --- a/entity_t.h +++ b/entity_t.h @@ -1,6 +1,6 @@ /* * This file is part of cparser. - * Copyright (C) 2007-2008 Matthias Braun + * Copyright (C) 2007-2009 Matthias Braun * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -33,6 +33,7 @@ typedef enum { ENTITY_PARAMETER, ENTITY_FUNCTION, ENTITY_TYPEDEF, + ENTITY_CLASS, ENTITY_STRUCT, ENTITY_UNION, ENTITY_ENUM, @@ -97,9 +98,9 @@ typedef enum decl_modifier_t { */ struct scope_t { entity_t *entities; - entity_t *last_entity; - unsigned depth; /**< while parsing, the depth of this scope in the - scope stack. */ + entity_t *last_entity; /**< pointer to last entity (so appending is fast) */ + unsigned depth; /**< while parsing, the depth of this scope in the + scope stack. */ }; /** @@ -125,6 +126,7 @@ struct compound_t { entity_t *alias; /* used for name mangling of anonymous types */ scope_t members; decl_modifiers_t modifiers; + bool layouted : 1; bool complete : 1; bool transparent_union : 1; bool packed : 1; @@ -302,7 +304,7 @@ struct function_t { statement_t *statement; /* ast2firm info */ - ir_entity *entity; + ir_entity *irentity; ir_node *static_link; /**< if need_closure is set, the node representing the static link. */ };