void gcji_create_array_type(void) { ident *id = new_id_from_str("array"); type_jarray = new_type_class(id); assert(type_java_lang_object != NULL); add_class_supertype(type_jarray, type_java_lang_object); add_compound_member(type_jarray, superobject_ident, type_java_lang_object); ident *length_id = new_id_from_str("length"); gcj_array_length = add_compound_member(type_jarray, length_id, type_int); default_layout_compound_type(type_jarray); array_header_size = get_type_size(type_jarray); array_header_end_align = get_type_alignment(type_int); }
int main(void) { ir_init(); ir_type *type = new_type_primitive(get_modeIs()); ident *id1 = new_id_from_str("foo"); ir_type *glob = get_glob_type(); ir_entity *x = new_global_entity(glob, id1, type, ir_visibility_external, IR_LINKAGE_DEFAULT); assert(get_entity_owner(x) == glob); ident *id2 = new_id_from_str("bar"); ir_type *cls = new_type_class(id2); set_entity_owner(x, cls); assert(get_entity_owner(x) == cls); ir_entity *gx = ir_get_global(id1); assert (NULL == gx); set_entity_owner(x, glob); assert(get_entity_owner(x) == glob); return 0; }