fix frame_alloc_area not setting a type size
authorMatthias Braun <matze@braunis.de>
Fri, 23 Sep 2011 12:23:00 +0000 (14:23 +0200)
committerMatthias Braun <matze@braunis.de>
Tue, 27 Sep 2011 12:23:53 +0000 (14:23 +0200)
ir/be/bespillslots.c
ir/tr/type.c

index f5bebce..913a67e 100644 (file)
@@ -527,11 +527,6 @@ static ir_entity* create_stack_entity(be_fec_env_t *env, spill_slot_t *slot)
        ir_type   *frame = get_irg_frame_type(irg);
        ir_entity *res   = frame_alloc_area(frame, slot->size, slot->align,
                                            env->at_begin);
-
-       /* adjust size of the entity type... */
-       ir_type *enttype = get_entity_type(res);
-       set_type_size_bytes(enttype, slot->size);
-
        slot->entity = res;
 
        return res;
index 3663344..3844b1b 100644 (file)
@@ -2061,6 +2061,7 @@ ir_entity *frame_alloc_area(ir_type *frame_type, int size, unsigned alignment,
        tp = new_type_array(1, a_byte);
        set_array_bounds_int(tp, 0, 0, size);
        set_type_alignment_bytes(tp, alignment);
+       set_type_size_bytes(tp, size);
 
        frame_size = get_type_size_bytes(frame_type);
        if (at_start) {