X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftr%2Ftypewalk.c;h=b0725f3e570a3fe7a655062ab98501b9e488adc2;hb=fe7ff338c74dd5d0ebdc2ebc13e905dc40ebfc86;hp=c4aa4367835a3a7a7f40283e6bd6cd58a02235c4;hpb=364a75f2257a590896017f5d0f373a6f15d374e9;p=libfirm diff --git a/ir/tr/typewalk.c b/ir/tr/typewalk.c index c4aa43678..b0725f3e5 100644 --- a/ir/tr/typewalk.c +++ b/ir/tr/typewalk.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2011 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -60,7 +60,7 @@ static void walk_initializer(ir_initializer_t *initializer, type_walk_func *pre, type_walk_func *post, void *env) { - switch(initializer->kind) { + switch (initializer->kind) { case IR_INITIALIZER_CONST: irn_type_walker(initializer->consti.value, pre, post, env); return; @@ -70,7 +70,7 @@ static void walk_initializer(ir_initializer_t *initializer, case IR_INITIALIZER_COMPOUND: { size_t i; - for(i = 0; i < initializer->compound.n_initializers; ++i) { + for (i = 0; i < initializer->compound.n_initializers; ++i) { ir_initializer_t *subinitializer = initializer->compound.initializers[i]; walk_initializer(subinitializer, pre, post, env); @@ -90,7 +90,7 @@ static void do_type_walk(type_or_ent tore, type_walk_func *post, void *env) { - int i, n_types, n_mem; + size_t i, n_types, n_mem; ir_entity *ent = NULL; ir_type *tp = NULL; ir_node *n; @@ -130,7 +130,7 @@ static void do_type_walk(type_or_ent tore, if (ent->initializer != NULL) { walk_initializer(ent->initializer, pre, post, env); } else if (entity_has_compound_ent_values(ent)) { - n_mem = get_compound_ent_n_values(ent); + size_t i, n_mem = get_compound_ent_n_values(ent); for (i = 0; i < n_mem; ++i) { n = get_compound_ent_value(ent, i); irn_type_walker(n, pre, post, env); @@ -243,8 +243,9 @@ static void irn_type_walker( /** Check whether node contains types or entities as an attribute. If so start a walk over that information. */ -static void start_type_walk(ir_node *node, void *ctx) { - type_walk_env *env = ctx; +static void start_type_walk(ir_node *node, void *ctx) +{ + type_walk_env *env = (type_walk_env*)ctx; type_walk_func *pre; type_walk_func *post; void *envi; @@ -257,8 +258,9 @@ static void start_type_walk(ir_node *node, void *ctx) { } /* walker: walks over all types */ -void type_walk(type_walk_func *pre, type_walk_func *post, void *env) { - int i, n_types = get_irp_n_types(); +void type_walk(type_walk_func *pre, type_walk_func *post, void *env) +{ + size_t i, n_types = get_irp_n_types(); type_or_ent cont; irp_reserve_resources(irp, IR_RESOURCE_TYPE_VISITED); @@ -272,8 +274,9 @@ void type_walk(type_walk_func *pre, type_walk_func *post, void *env) { irp_free_resources(irp, IR_RESOURCE_TYPE_VISITED); } -void type_walk_prog(type_walk_func *pre, type_walk_func *post, void *env) { - int i, n_irgs = get_irp_n_irgs(); +void type_walk_prog(type_walk_func *pre, type_walk_func *post, void *env) +{ + size_t i, n_irgs = get_irp_n_irgs(); type_or_ent cont; type_walk(pre, post, env); @@ -284,13 +287,13 @@ void type_walk_prog(type_walk_func *pre, type_walk_func *post, void *env) { do_type_walk(cont, pre, post, env); cont.typ = get_method_value_param_type(get_entity_type(get_irg_entity(irg))); - if(cont.typ) + if (cont.typ) do_type_walk(cont, pre, post, env); } for (i = IR_SEGMENT_FIRST; i <= IR_SEGMENT_LAST; ++i) { cont.typ = get_segment_type((ir_segment_t) i); - if(cont.typ) + if (cont.typ) do_type_walk(cont, pre, post, env); } } @@ -341,7 +344,6 @@ static void type_walk_s2s_2(type_or_ent tore, void *env) { type_or_ent cont; - int i, n; /* marked? */ switch (get_kind(tore.ent)) { @@ -364,6 +366,8 @@ static void type_walk_s2s_2(type_or_ent tore, switch (get_type_tpop_code(tp)) { case tpo_class: { + size_t i, n; + n = get_class_n_supertypes(tp); for (i = 0; i < n; ++i) { cont.typ = get_class_supertype(tp, i); @@ -412,7 +416,7 @@ void type_walk_super2sub(type_walk_func *pre, void *env) { type_or_ent cont; - int i, n_types = get_irp_n_types(); + size_t i, n_types = get_irp_n_types(); irp_reserve_resources(irp, IR_RESOURCE_TYPE_VISITED); inc_master_type_visited(); @@ -427,13 +431,10 @@ void type_walk_super2sub(type_walk_func *pre, /*****************************************************************************/ -static void -type_walk_super_2(type_or_ent tore, - type_walk_func *pre, - type_walk_func *post, - void *env) { +static void type_walk_super_2(type_or_ent tore, type_walk_func *pre, + type_walk_func *post, void *env) +{ type_or_ent cont; - int i, n; /* marked? */ switch (get_kind(tore.ent)) { @@ -458,6 +459,8 @@ type_walk_super_2(type_or_ent tore, switch (get_type_tpop_code(tp)) { case tpo_class: { + size_t i, n; + /* execute pre method */ if (pre) pre(tore, env); @@ -496,10 +499,9 @@ type_walk_super_2(type_or_ent tore, } } -void type_walk_super(type_walk_func *pre, - type_walk_func *post, - void *env) { - int i, n_types = get_irp_n_types(); +void type_walk_super(type_walk_func *pre, type_walk_func *post, void *env) +{ + size_t i, n_types = get_irp_n_types(); type_or_ent cont; irp_reserve_resources(irp, IR_RESOURCE_TYPE_VISITED); @@ -516,13 +518,10 @@ void type_walk_super(type_walk_func *pre, /*****************************************************************************/ -static void -class_walk_s2s_2(ir_type *tp, - class_walk_func *pre, - class_walk_func *post, - void *env) +static void class_walk_s2s_2(ir_type *tp, class_walk_func *pre, + class_walk_func *post, void *env) { - int i, n; + size_t i, n; /* marked? */ if (type_visited(tp)) return; @@ -554,7 +553,7 @@ void class_walk_super2sub(class_walk_func *pre, class_walk_func *post, void *env) { - int i, n_types = get_irp_n_types(); + size_t i, n_types = get_irp_n_types(); ir_type *tp; irp_reserve_resources(irp, IR_RESOURCE_TYPE_VISITED); @@ -578,7 +577,7 @@ void walk_types_entities(ir_type *tp, entity_walk_func *doit, void *env) { - int i, n; + size_t i, n; switch (get_type_tpop_code(tp)) { case tpo_class: