make firm compilable with a c++ compiler
[libfirm] / ir / opt / ircgopt.c
index eca8ffb..3bded61 100644 (file)
@@ -27,7 +27,7 @@
 
 /*
  * Entfernen von nicht erreichbaren (aufrufbaren) Methoden. Die Menge
- * der nicht erreichbaren Methoden wird aus der Abschätzung der
+ * der nicht erreichbaren Methoden wird aus der Abschätzung der
  * Aufrufrelation bestimmt.
  */
 #include "config.h"
@@ -52,7 +52,7 @@ DEBUG_ONLY(static firm_dbg_module_t *dbg);
  */
 static void collect_call(ir_node *node, void *env)
 {
-       ir_node *head = env;
+       ir_node *head = (ir_node*)env;
 
        if (is_Call(node)) {
                set_irn_link(node, get_irn_link(head));
@@ -81,7 +81,7 @@ void gc_irgs(int n_keep, ir_entity ** keep_arr)
                for (i = 0; i < n_keep; ++i) {
                        marked[i] = keep_arr[i];
                        set_entity_link(marked[i], MARK);
-                       DB((dbg, LEVEL_1, "  method %+F kept alive.\n", marked[i]));
+                       DB((dbg, LEVEL_1, "  method %+F kept alive.\n", marked[i]));
                }
 
                for (i = 0; i < ARR_LEN(marked); ++i) {
@@ -98,7 +98,8 @@ void gc_irgs(int n_keep, ir_entity ** keep_arr)
                        irg_walk_graph(irg, firm_clear_link, collect_call, node);
 
                        /* iterate calls */
-                       for (node = get_irn_link(node); node; node = get_irn_link(node)) {
+                       for (node = (ir_node*)get_irn_link(node); node != NULL;
+                            node = (ir_node*)get_irn_link(node)) {
                                int i;
                                assert(is_Call(node));
 
@@ -127,10 +128,10 @@ void gc_irgs(int n_keep, ir_entity ** keep_arr)
                if (get_entity_link(ent) == MARK)
                        continue;
 
-               DB((dbg, LEVEL_1, "  freeing method %+F\n",     ent));
+               DB((dbg, LEVEL_1, "  freeing method %+F\n", ent));
                remove_irp_irg(irg);
 
-               remove_class_member(get_entity_owner(ent), ent);
+               free_entity(ent);
        }
 }