X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=entity_t.h;h=b570f1a0031297548e2d1da8a4597b962758ef59;hb=296ba6e16420b89723d1a5b1217d6ecfc2fb0c7d;hp=19db103747ed16c1f276615d3594c6d81096d87d;hpb=188cd4cc8ba69ffabfbf3b78db6a36697cff79f6;p=cparser diff --git a/entity_t.h b/entity_t.h index 19db103..b570f1a 100644 --- a/entity_t.h +++ b/entity_t.h @@ -20,12 +20,12 @@ #ifndef ENTITY_T_H #define ENTITY_T_H -#include "lexer.h" #include "symbol.h" #include "entity.h" #include "attribute.h" #include #include "builtins.h" +#include "token_t.h" typedef enum { ENTITY_VARIABLE = 1, @@ -136,6 +136,7 @@ struct compound_t { entity_t *alias; /* used for name mangling of anonymous types */ scope_t members; decl_modifiers_t modifiers; + attribute_t *attributes; bool layouted : 1; bool complete : 1; bool transparent_union : 1; @@ -171,6 +172,7 @@ struct label_t { entity_base_t base; bool used : 1; bool address_taken : 1; + unsigned n_users; /* Reference counter to mature the label block as early as possible. */ statement_t *statement; /* ast2firm info */ @@ -211,9 +213,6 @@ struct compound_member_t { unsigned char bit_offset; /**< extra bit offset for bitfield members */ unsigned char bit_size; /**< bitsize for bitfield members */ bool bitfield : 1; /**< member is (part of) a bitfield */ - bool read : 1; - bool address_taken : 1; /**< Set if the address of this - declaration was taken. */ /* ast2firm info */ ir_entity *entity; @@ -221,10 +220,7 @@ struct compound_member_t { struct variable_t { declaration_t base; - bool thread_local : 1; /**< GCC __thread */ - bool restricta : 1; - bool deprecated : 1; - bool noalias : 1; + bool thread_local : 1; bool address_taken : 1; /**< Set if the address of this declaration was taken. */ bool read : 1; @@ -250,7 +246,7 @@ struct function_t { builtin_kind_t btk; scope_t parameters; - statement_t *statement; + statement_t *body; symbol_t *actual_name; /**< gnu extension __REDIRECT */ /* ast2firm info */