Commit 8de98d42 authored by Michael Beck's avatar Michael Beck
Browse files

get_member_index type operation added

[r7278]
parent ad7dcd5e
......@@ -63,7 +63,8 @@ static const tp_op_ops
set_class_mode,
set_class_size_bits,
get_class_n_members,
get_class_member
get_class_member,
get_class_member_index
},
/** tpop operations for struct types */
struct_ops = {
......@@ -73,7 +74,8 @@ static const tp_op_ops
set_struct_mode,
set_struct_size_bits,
get_struct_n_members,
get_struct_member
get_struct_member,
get_struct_member_index
},
/** tpop operations for method types */
method_ops = {
......@@ -83,6 +85,7 @@ static const tp_op_ops
NULL,
NULL,
NULL,
NULL,
NULL
},
/** tpop operations for union types */
......@@ -93,7 +96,8 @@ static const tp_op_ops
NULL,
set_union_size_bits,
get_union_n_members,
get_union_member
get_union_member,
get_union_member_index
},
/** tpop operations for array types */
array_ops = {
......@@ -103,6 +107,7 @@ static const tp_op_ops
NULL,
set_array_size_bits,
NULL,
NULL,
NULL
},
/** tpop operations for enumeration types */
......@@ -113,6 +118,7 @@ static const tp_op_ops
set_enumeration_mode,
NULL,
NULL,
NULL,
NULL
},
/** tpop operations for pointer types */
......@@ -123,6 +129,7 @@ static const tp_op_ops
set_pointer_mode,
NULL,
NULL,
NULL,
NULL
},
/** tpop operations for pseudo types */
......@@ -133,6 +140,7 @@ static const tp_op_ops
NULL,
set_default_size_bits,
NULL,
NULL,
NULL
},
/** tpop operations for primitive types */
......@@ -143,6 +151,7 @@ static const tp_op_ops
NULL,
NULL,
NULL,
NULL,
NULL
};
......
......@@ -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 */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment