/*
- * 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
#include "typerep.h"
#include "irmode.h"
+#define get_tpop_code(op) _get_tpop_code(op)
+#define get_tpop_ident(op) _get_tpop_ident(op)
+
/** A function called to free attributes of a type. */
typedef void (*free_attrs_func)(ir_type *tp);
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);
-
+static inline size_t get_tpop_attr_size(const tp_op *op)
+{
+ return op->attr_size;
+}
/* ---------------- *
* inline functions *
* -----------------*/
-static inline tp_opcode
-_get_tpop_code(const tp_op *op) {
+static inline tp_opcode _get_tpop_code(const tp_op *op)
+{
return op->code;
}
-static inline ident *
-_get_tpop_ident(const tp_op *op){
+static inline ident *_get_tpop_ident(const tp_op *op)
+{
return op->name;
}
-static inline size_t
-_get_tpop_attr_size(const tp_op *op) {
- return op->attr_size;
-}
-
-#define get_tpop_code(op) _get_tpop_code(op)
-#define get_tpop_ident(op) _get_tpop_ident(op)
-#define get_tpop_attr_size(op) _get_tpop_attr_size(op)
-
#endif /* FIRM_TR_TPOP_T_H */