X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgmod.c;h=ec7cc6d42f517c61e06d872539c488cdcd1f4daa;hb=5f8ddee6b08c8040c0a304a347d65045c1141d52;hp=4959291e52a1805a57071c5563375c82d37733c3;hpb=55fadbd9a8b631825b8abdcb185f53c5f0cdd1a7;p=libfirm diff --git a/ir/ir/irgmod.c b/ir/ir/irgmod.c index 4959291e5..ec7cc6d42 100644 --- a/ir/ir/irgmod.c +++ b/ir/ir/irgmod.c @@ -1,3 +1,4 @@ + /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe ** All rights reserved. ** @@ -6,6 +7,8 @@ ** irgmod: ir graph modification */ +# include "irnode_t.h" +# include "irgraph_t.h" # include "irgmod.h" # include "array.h" @@ -21,9 +24,10 @@ turn_into_tuple (ir_node *node, int arity) if (get_irn_arity(node) == arity) { /* keep old array */ } else { - /* allocate new array, remove old one. */ - /* !!!??? free old in_array */ + /* Allocate new array, don't free old in_array, it's on the obstack. */ + ir_node *block = get_nodes_Block(node); node->in = NEW_ARR_D (ir_node *, current_ir_graph->obst, arity+1); + set_nodes_Block(node, block); } }