ir_type *points_to; /**< The type of the ir_entity the pointer points to. */
} ptr_attr;
-/*
-typedef struct { * No private attr yet! *
-} pri_attr; */
+/** Primitive type attributes. */
+typedef struct {
+ ir_type *base_type; /**< For bitfield types: The base primitive type, NULL else. */
+} pri_attr;
/*
arr_attr aa; /**< Attributes of an array type */
enm_attr ea; /**< Attributes of an enumeration type */
ptr_attr pa; /**< Attributes of a pointer type */
+ pri_attr ba; /**< Attributes of a primitive bitfield type */
} tp_attr;
/** Additional type flags. */
return size >> 3;
}
-static INLINE type_state
+static INLINE ir_type_state
_get_type_state(const ir_type *tp) {
assert(tp && tp->kind == k_type);
return tp->flags & tf_layout_fixed ? layout_fixed : layout_undefined;