X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftr%2Ftpop_t.h;h=e3e4cc9015cb5d5870445a530584412eac5b0239;hb=d0d85962ef52c14950db90e5981a7bea36023ab3;hp=ac4a9e702531b4dad437a810848ea98194df5edb;hpb=c663ef040917269c4a8e6932f5e04a969dac95fc;p=libfirm diff --git a/ir/tr/tpop_t.h b/ir/tr/tpop_t.h index ac4a9e702..e3e4cc901 100644 --- a/ir/tr/tpop_t.h +++ b/ir/tr/tpop_t.h @@ -12,6 +12,8 @@ #ifndef _TPOP_T_H_ #define _TPOP_T_H_ +#include + #include "firm_types.h" #include "tpop.h" #include "irmode.h" @@ -26,29 +28,30 @@ */ /** A function called to free attributes of a type. */ -typedef void (*free_attrs_func)(type *tp); +typedef void (*free_attrs_func)(ir_type *tp); /** A function called to free owned entities of a type. */ -typedef void (*free_entities_func)(type *tp); +typedef void (*free_entities_func)(ir_type *tp); /** A function called to free all automatic allocated entities of a type. */ -typedef void (*free_auto_entities_func)(type *tp); +typedef void (*free_auto_entities_func)(ir_type *tp); /** A function called to set the mode of a type. */ -typedef void (*set_type_mode_func)(type *tp, ir_mode *m); +typedef void (*set_type_mode_func)(ir_type *tp, ir_mode *m); /** A function called to set the size of a type in bits */ -typedef void (*set_type_size_func)(type *tp, int size); +typedef void (*set_type_size_func)(ir_type *tp, int size); /** A function called to get the number of compound members */ -typedef int (*get_n_members_func)(const type *tp); +typedef int (*get_n_members_func)(const ir_type *tp); /** A function called to get the pos'th compound member */ -typedef entity *(*get_member_func)(const type *tp, int pos); +typedef entity *(*get_member_func)(const ir_type *tp, int pos); -/** A function called to insert an entity into the type */ -typedef void (*insert_entity_func)(type *tp, entity *member); +typedef int (*get_member_index_func)(const ir_type *tp, entity *member); +/** A function called to insert an entity into the type */ +typedef void (*insert_entity_func)(ir_type *tp, entity *member); /** * tp_op operations. @@ -61,6 +64,7 @@ typedef struct _tp_op_ops { set_type_size_func set_type_size; /**< called to set the bit size of a type */ get_n_members_func get_n_members; /**< called to return the number of compound members */ get_member_func get_member; /**< called to get the pos'th compound member */ + get_member_index_func get_member_index; /**< called to get the index of a compound member */ } tp_op_ops; /** possible flags for a type opcode */ @@ -145,7 +149,7 @@ _get_tpop_ident(const tp_op *op){ return op->name; } -static INLINE int +static INLINE size_t _get_tpop_attr_size(const tp_op *op) { return op->attr_size; }