Switch irg index to type size_t, making the API more consistent.
[libfirm] / ir / opt / ircgopt.c
index 7d35a77..c95e0a5 100644 (file)
@@ -102,11 +102,11 @@ void gc_irgs(size_t n_keep, ir_entity ** keep_arr)
                        /* iterate calls */
                        for (node = (ir_node*)get_irn_link(node); node != NULL;
                             node = (ir_node*)get_irn_link(node)) {
-                               int i;
+                               size_t i;
                                assert(is_Call(node));
 
-                               for (i = get_Call_n_callees(node) - 1; i >= 0; --i) {
-                                       ir_entity *ent = get_Call_callee(node, i);
+                               for (i = get_Call_n_callees(node); i > 0;) {
+                                       ir_entity *ent = get_Call_callee(node, --i);
 
                                        if (get_entity_irg(ent) && get_entity_link(ent) != MARK) {
                                                set_entity_link(ent, MARK);