summaryrefslogtreecommitdiff
path: root/isl_tab.c
diff options
context:
space:
mode:
authorSven Verdoolaege <skimo@kotnet.org>2010-06-25 19:40:02 +0200
committerSven Verdoolaege <skimo@kotnet.org>2010-06-26 17:37:39 +0200
commitc3bbf920555f83634940f3e3993c649f6e3cc699 (patch)
tree9dc9ddd48c321340c08bcc25c373dc73f3a37421 /isl_tab.c
parent46161823d9abff47985dceb9b9007f5e62678c6b (diff)
downloadisl-c3bbf920555f83634940f3e3993c649f6e3cc699.tar.gz
isl-c3bbf920555f83634940f3e3993c649f6e3cc699.tar.bz2
isl-c3bbf920555f83634940f3e3993c649f6e3cc699.zip
isl_tab.c: close_row: fix error handling
Diffstat (limited to 'isl_tab.c')
-rw-r--r--isl_tab.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/isl_tab.c b/isl_tab.c
index 5ea612cf..695f7bac 100644
--- a/isl_tab.c
+++ b/isl_tab.c
@@ -1534,11 +1534,15 @@ static int close_row(struct isl_tab *tab, struct isl_tab_var *var)
if (isl_tab_push_var(tab, isl_tab_undo_zero, var) < 0)
return -1;
for (j = tab->n_dead; j < tab->n_col; ++j) {
+ int recheck;
if (isl_int_is_zero(mat->row[var->index][off + j]))
continue;
isl_assert(tab->mat->ctx,
isl_int_is_neg(mat->row[var->index][off + j]), return -1);
- if (isl_tab_kill_col(tab, j))
+ recheck = isl_tab_kill_col(tab, j);
+ if (recheck < 0)
+ return -1;
+ if (recheck)
--j;
}
if (isl_tab_mark_redundant(tab, var->index) < 0)