X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbegnuas.c;h=fff68aa30b958c6775fac2f02cd1e612b03a0892;hb=89dc24503c04139bb05504059b291d6d89f99661;hp=5efb668890a198e5db75242e8e04f6be6809611d;hpb=cf79ddfe6713891acdc41aa3ecd5f5a61034ee94;p=libfirm diff --git a/ir/be/begnuas.c b/ir/be/begnuas.c index 5efb66889..fff68aa30 100644 --- a/ir/be/begnuas.c +++ b/ir/be/begnuas.c @@ -554,7 +554,7 @@ static void dump_string_initializer(obstack_t *obst, obstack_printf(obst, "\t.string \""); len = initializer->compound.n_initializers; - for(i = 0; i < len; ++i) { + for(i = 0; i < len - 1; ++i) { const ir_initializer_t *sub_initializer = get_initializer_compound_value(initializer, i); @@ -605,8 +605,7 @@ static size_t get_initializer_size(const ir_initializer_t *initializer, { switch(get_initializer_kind(initializer)) { case IR_INITIALIZER_TARVAL: { - tarval *tv = get_initializer_tarval_value(initializer); - assert(get_tarval_mode(tv) == get_type_mode(type)); + assert(get_tarval_mode(get_initializer_tarval_value(initializer)) == get_type_mode(type)); return get_type_size_bytes(type); } case IR_INITIALIZER_CONST: @@ -703,9 +702,9 @@ static void dump_ir_initializer(normal_or_bitfield *vals, vals += skip; } } else { + size_t n_members, i; assert(is_compound_type(type)); - size_t n_members = get_compound_n_members(type); - size_t i; + n_members = get_compound_n_members(type); for(i = 0; i < n_members; ++i) { ir_entity *member = get_compound_member(type, i); size_t offset = get_entity_offset(member);