X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftr%2Fentity_t.h;h=cdd8aff43cbef8a544699928722ed5dfb0cdbb5a;hb=9543fd5575184a1167bddfd32c34fb700aa484a4;hp=12bf6452f26690b9b03218db90d6dc6e2016bb0d;hpb=9022c59ec32373291b4685c60ee4751b30c41594;p=libfirm diff --git a/ir/tr/entity_t.h b/ir/tr/entity_t.h index 12bf6452f..cdd8aff43 100644 --- a/ir/tr/entity_t.h +++ b/ir/tr/entity_t.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2011 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -31,7 +31,6 @@ #include "typerep.h" #include "type_t.h" #include "ident.h" -#include "pseudo_irg.h" #include "compound_path.h" typedef struct ir_initializer_base_t { @@ -43,7 +42,7 @@ typedef struct ir_initializer_base_t { */ typedef struct ir_initializer_compound_t { ir_initializer_base_t base; - unsigned n_initializers; + size_t n_initializers; ir_initializer_t *initializers[1]; } ir_initializer_compound_t; @@ -60,7 +59,7 @@ typedef struct ir_initializer_const_t { */ typedef struct ir_initializer_tarval_t { ir_initializer_base_t base; - tarval *value; + ir_tarval *value; } ir_initializer_tarval_t ; union ir_initializer_t { @@ -78,14 +77,11 @@ typedef struct compound_ent_attr { /**< paths corresponding to constant values. */ } compound_ent_attr; -/** A reserved value for "not yet set". */ -#define VTABLE_NUM_NOT_SET ((unsigned)(-1)) - /** The attributes for methods. */ typedef struct method_ent_attr { ir_graph *irg; /**< The corresponding irg if known. The ir_graph constructor automatically sets this field. */ - unsigned irg_add_properties; /**< Additional graph properties can be + mtp_additional_properties irg_add_properties; /**< Additional graph properties can be stored in a entity if no irg is available. */ unsigned vtable_number; /**< For a dynamically called method, the number assigned @@ -241,13 +237,13 @@ static inline void _set_entity_type(ir_entity *ent, ir_type *type) static inline ir_linkage _get_entity_linkage(const ir_entity *ent) { assert(ent && ent->kind == k_entity); - return ent->linkage; + return (ir_linkage) ent->linkage; } static inline ir_volatility _get_entity_volatility(const ir_entity *ent) { assert(ent && ent->kind == k_entity); - return ent->volatility; + return (ir_volatility) ent->volatility; } static inline void _set_entity_volatility(ir_entity *ent, ir_volatility vol) @@ -271,7 +267,7 @@ static inline void _set_entity_alignment(ir_entity *ent, unsigned alignment) static inline ir_align _get_entity_aligned(const ir_entity *ent) { assert(ent && ent->kind == k_entity); - return ent->aligned; + return (ir_align) ent->aligned; } static inline void _set_entity_aligned(ir_entity *ent, ir_align a) @@ -295,7 +291,7 @@ static inline void _set_entity_compiler_generated(ir_entity *ent, int flag) static inline ir_entity_usage _get_entity_usage(const ir_entity *ent) { assert(ent && ent->kind == k_entity); - return ent->usage; + return (ir_entity_usage) ent->usage; } static inline void _set_entity_usage(ir_entity *ent, ir_entity_usage state) @@ -342,16 +338,12 @@ static inline void _set_entity_link(ir_entity *ent, void *l) static inline ir_graph *_get_entity_irg(const ir_entity *ent) { - ir_graph *irg; assert(ent && ent->kind == k_entity); if (!is_Method_type(ent->type) || ent == unknown_entity) { return NULL; } - irg = ent->attr.mtd_attr.irg; - if (irg != NULL && !get_visit_pseudo_irgs() && is_pseudo_ir_graph(irg)) - return NULL; - return irg; + return ent->attr.mtd_attr.irg; } static inline ir_visited_t _get_entity_visited(const ir_entity *ent)