X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftr%2Ftpop_t.h;h=e3e4cc9015cb5d5870445a530584412eac5b0239;hb=d0d85962ef52c14950db90e5981a7bea36023ab3;hp=87b8718eb8439e2d9b70cf8d0f24023bea2c1d4d;hpb=4895378968a1305157fac4390df20ddcd9a2091b;p=libfirm diff --git a/ir/tr/tpop_t.h b/ir/tr/tpop_t.h index 87b8718eb..e3e4cc901 100644 --- a/ir/tr/tpop_t.h +++ b/ir/tr/tpop_t.h @@ -48,10 +48,11 @@ 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 ir_type *tp, int pos); +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. */ @@ -63,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 */ @@ -147,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; }