/*
- * 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.
*
* @file
* @brief Opcode of types -- private header.
* @author Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_TR_TPOP_T_H
#define FIRM_TR_TPOP_T_H
typedef void (*set_type_size_func)(ir_type *tp, unsigned size);
/** A function called to get the number of compound members */
-typedef int (*get_n_members_func)(const ir_type *tp);
+typedef size_t (*get_n_members_func)(const ir_type *tp);
/** A function called to get the pos'th compound member */
-typedef ir_entity *(*get_member_func)(const ir_type *tp, int pos);
+typedef ir_entity *(*get_member_func)(const ir_type *tp, size_t pos);
-typedef int (*get_member_index_func)(const ir_type *tp, ir_entity *member);
+typedef size_t (*get_member_index_func)(const ir_type *tp, ir_entity *member);
/** A function called to insert an entity into the type */
typedef void (*insert_entity_func)(ir_type *tp, ir_entity *member);
/**
* tp_op operations.
*/
-typedef struct _tp_op_ops {
+typedef struct tp_op_ops {
free_attrs_func free_attrs; /**< Called to free the attributes of a type. */
free_entities_func free_entities; /**< Called to free the owned entities of a type. */
free_auto_entities_func free_auto_entities; /**< Called to free the automatic allocated entities of a type. */
/**
* Returns a new type opcode.
*
- * Allocates a new tp_op struct and initializes it's fields with
+ * Allocates a new tp_op struct and initializes its fields with
* the passed values. This function is only to be used during
* initialization of the library.
*
* @param op The type opcode to get the size for.
* @return The size of the attribute of types with this opcode.
*/
-int get_tpop_attr_size (const tp_op *op);
+size_t get_tpop_attr_size(const tp_op *op);
/* ---------------- *