X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=entity_t.h;h=11481fc80c8abaab01f49d09c40b1ac866c64525;hb=a4ad64eb41a4fc3393fb264922925aa041421c11;hp=b570f1a0031297548e2d1da8a4597b962758ef59;hpb=8190361d1f60dc53334492c34b04b398ff644b57;p=cparser diff --git a/entity_t.h b/entity_t.h index b570f1a..11481fc 100644 --- a/entity_t.h +++ b/entity_t.h @@ -25,6 +25,7 @@ #include "attribute.h" #include #include "builtins.h" +#include "jump_target.h" #include "token_t.h" typedef enum { @@ -120,7 +121,7 @@ struct entity_base_t { entity_kind_t kind; entity_namespace_t namespc; symbol_t *symbol; - source_position_t source_position; + position_t pos; scope_t *parent_scope; /**< The scope where this entity is contained in */ entity_t *parent_entity; @@ -176,7 +177,8 @@ struct label_t { statement_t *statement; /* ast2firm info */ - ir_node *block; + jump_target target; + ir_node *indirect_block; }; struct namespace_t { @@ -282,7 +284,7 @@ union entity_t { static inline bool is_declaration(const entity_t *entity) { - switch(entity->kind) { + switch (entity->kind) { case DECLARATION_KIND_CASES: return true; default: @@ -292,7 +294,7 @@ static inline bool is_declaration(const entity_t *entity) const char *get_entity_kind_name(entity_kind_t kind); -entity_t *allocate_entity_zero(entity_kind_t, entity_namespace_t, symbol_t*, source_position_t const*); +entity_t *allocate_entity_zero(entity_kind_t, entity_namespace_t, symbol_t*, position_t const*); elf_visibility_tag_t get_elf_visibility_from_string(const char *string);