From 5bc015bff7947bad2110fee8b9957e627b2d7f2e Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=B6tz=20Lindenmaier?= Date: Mon, 13 May 2002 13:59:14 +0000 Subject: [PATCH] Bugfix in remove_irp_irg by Hubert Schmid [r396] --- ir/ir/irprog.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ir/ir/irprog.c b/ir/ir/irprog.c index 9f693e169..c53560235 100644 --- a/ir/ir/irprog.c +++ b/ir/ir/irprog.c @@ -82,13 +82,16 @@ void add_irp_irg(ir_graph *irg) { void remove_irp_irg(ir_graph *irg){ int i; assert(irg); - for (i = 1; i < (ARR_LEN (irp->graphs))-1; i++) - if (irp->graphs[i+1] == irg) { - for(i++; i < (ARR_LEN (irp->graphs)) - 1; i++) + free_ir_graph(irg); + for (i = 1; i < (ARR_LEN (irp->graphs)); i++) { + if (irp->graphs[i] == irg) { + for(; i < (ARR_LEN (irp->graphs)) - 1; i++) { irp->graphs[i] = irp->graphs[i+1]; + } ARR_SETLEN(ir_graph*, irp->graphs, (ARR_LEN(irp->graphs)) - 1); break; } + } } int get_irp_n_irgs() { -- 2.20.1