X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Fdfs.c;h=70fdf54dde9b928996afc7b520b4f2188171a4d3;hb=4524bf07ed17f358412754a50a76e7db852160b3;hp=bc6da0a74e2e19884423249f83a0fb725b393bc3;hpb=800e4d37cd161f66232656944211a718ce007a4b;p=libfirm diff --git a/ir/ana/dfs.c b/ir/ana/dfs.c index bc6da0a74..70fdf54dd 100644 --- a/ir/ana/dfs.c +++ b/ir/ana/dfs.c @@ -42,8 +42,8 @@ static int cmp_edge(const void *a, const void *b, size_t sz) { - const dfs_edge_t *p = a; - const dfs_edge_t *q = b; + const dfs_edge_t *p = (const dfs_edge_t*) a; + const dfs_edge_t *q = (const dfs_edge_t*) b; (void) sz; return !(p->src == q->src && p->tgt == q->tgt); @@ -51,8 +51,8 @@ static int cmp_edge(const void *a, const void *b, size_t sz) static int cmp_node(const void *a, const void *b, size_t sz) { - const dfs_node_t *p = a; - const dfs_node_t *q = b; + const dfs_node_t *p = (const dfs_node_t*) a; + const dfs_node_t *q = (const dfs_node_t*) b; (void) sz; return p->node != q->node; @@ -67,9 +67,9 @@ static dfs_edge_t *get_edge(const dfs_t *self, const void *src, const void *tgt) templ.src = src; templ.tgt = tgt; - templ.kind = -1; + templ.kind = (dfs_edge_kind_t) -1; - return set_insert(self->edges, &templ, sizeof(templ), hash); + return (dfs_edge_t*) set_insert(self->edges, &templ, sizeof(templ), hash); } static void dfs_perform(dfs_t *dfs, void *n, void *anc, int level) @@ -88,7 +88,7 @@ static void dfs_perform(dfs_t *dfs, void *n, void *anc, int level) dfs->graph_impl->grow_succs(dfs->graph, n, &dfs->obst); obstack_ptr_grow(&dfs->obst, NULL); - succs = obstack_finish(&dfs->obst); + succs = (void**) obstack_finish(&dfs->obst); for (iter = succs; *iter; ++iter) { void *p = *iter; @@ -120,7 +120,7 @@ static void classify_edges(dfs_t *dfs) stat_ev_cnt_decl(fwd); stat_ev_cnt_decl(cross); - foreach_set (dfs->edges, edge) { + foreach_set (dfs->edges, dfs_edge_t*, edge) { dfs_node_t *src = edge->s; dfs_node_t *tgt = edge->t; @@ -193,7 +193,7 @@ dfs_t *dfs_new(const absgraph_t *graph_impl, void *graph_self) assert(res->pre_num == res->post_num); res->pre_order = XMALLOCN(dfs_node_t*, res->pre_num); res->post_order = XMALLOCN(dfs_node_t*, res->post_num); - foreach_set (res->nodes, node) { + foreach_set (res->nodes, dfs_node_t*, node) { assert(node->pre_num < res->pre_num); assert(node->post_num < res->post_num); @@ -222,7 +222,7 @@ static void dfs_dump_edge(const dfs_edge_t *edge, FILE *file) const char *s, *style; int weight; -#define XXX(e) case DFS_EDGE_ ## e: s = #e; break +#define XXX(e) case DFS_EDGE_ ## e: s = #e; break switch (edge->kind) { XXX(FWD); XXX(CROSS); @@ -255,7 +255,7 @@ void dfs_dump(const dfs_t *dfs, FILE *file) int i, n = 0; ir_fprintf(file, "digraph G {\nranksep=0.5\n"); - foreach_set (dfs->nodes, node) { + foreach_set (dfs->nodes, dfs_node_t*, node) { nodes[n++] = node; } @@ -274,8 +274,8 @@ void dfs_dump(const dfs_t *dfs, FILE *file) } for (i = 0; i < n; ++i) { - dfs_node_t *node = nodes[i]; - ir_fprintf(file, "\tn%d [label=\"%d\"]\n", node->pre_num, get_Block_dom_tree_pre_num(node->node)); + node = nodes[i]; + ir_fprintf(file, "\tn%d [label=\"%d\"]\n", node->pre_num, get_Block_dom_tree_pre_num((ir_node*) node->node)); #if 0 ir_fprintf(file, "\tn%d [shape=box,label=\"%+F\\l%d %d/%d %d\"];\n", node->pre_num, node->node, get_Block_dom_tree_pre_num(node->node), @@ -283,7 +283,7 @@ void dfs_dump(const dfs_t *dfs, FILE *file) #endif } - foreach_set (dfs->edges, edge) + foreach_set (dfs->edges, dfs_edge_t*, edge) dfs_dump_edge(edge, file); ir_fprintf(file, "}\n");