renamed all type * to ir_type *
[libfirm] / ir / ir / iredges_t.h
index 9aca773..8eb5d2e 100644 (file)
@@ -167,7 +167,15 @@ static INLINE int _get_edge_src_pos(const ir_edge_t *edge)
  */
 static INLINE int _get_irn_n_edges(const ir_node *irn)
 {
-  return _get_irn_edge_info(irn)->out_count;
+/* Perhaps out_count was buggy. This code does it more safely.
+
+       int res = 0;
+       struct list_head *pos, *head = _get_irn_outs_head(irn);
+       list_for_each(pos, head)
+               res++;
+       return res;
+*/
+       return _get_irn_edge_info(irn)->out_count;
 }
 
 static INLINE int _edges_activated(const ir_graph *irg)