X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_tab.c;h=3fc0367ff4de20295753d26428f2ad632bfeb679;hb=176bc844c93de500b29e6f0c815d69fd76c3c475;hp=097b335c102c1f5108f912f242b21d595a427e43;hpb=f8746213d57f57c347c38f1750f36bea45da7582;p=platform%2Fupstream%2Fisl.git diff --git a/isl_tab.c b/isl_tab.c index 097b335..3fc0367 100644 --- a/isl_tab.c +++ b/isl_tab.c @@ -1,7 +1,7 @@ /* * Copyright 2008-2009 Katholieke Universiteit Leuven * - * Use of this software is governed by the GNU LGPLv2.1 license + * Use of this software is governed by the MIT license * * Written by Sven Verdoolaege, K.U.Leuven, Departement * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium @@ -787,6 +787,8 @@ static int push_union(struct isl_tab *tab, { struct isl_tab_undo *undo; + if (!tab) + return -1; if (!tab->need_undo) return 0; @@ -2556,6 +2558,13 @@ struct isl_tab *isl_tab_relax(struct isl_tab *tab, int con) var = &tab->con[con]; + if (var->is_row && (var->index < 0 || var->index < tab->n_redundant)) + isl_die(tab->mat->ctx, isl_error_invalid, + "cannot relax redundant constraint", goto error); + if (!var->is_row && (var->index < 0 || var->index < tab->n_dead)) + isl_die(tab->mat->ctx, isl_error_invalid, + "cannot relax dead constraint", goto error); + if (!var->is_row && !max_is_manifestly_unbounded(tab, var)) if (to_row(tab, var, 1) < 0) goto error;