isl_map.c: parameter_compute_divs: check result of isl_basic_set_gauss call
authorSven Verdoolaege <skimo@kotnet.org>
Wed, 13 Mar 2013 07:13:00 +0000 (08:13 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Wed, 13 Mar 2013 08:05:50 +0000 (09:05 +0100)
The return value has been completely ignored ever since the call
was introduced in 2bc8301 (isl_pip_basic_map_compute_divs: remove some
equalities first, Mon May 25 12:59:23 2009 +0200).  This may be harmless
in practice at the moment, but it may lead to future bugs.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_map.c

index d3c4225..d08f8c4 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -6333,7 +6333,11 @@ static struct isl_set *parameter_compute_divs(struct isl_basic_set *bset)
        if (bset->n_eq == 0)
                return isl_basic_set_lexmin(bset);
 
-       isl_basic_set_gauss(bset, NULL);
+       bset = isl_basic_set_gauss(bset, NULL);
+       if (!bset)
+               return NULL;
+       if (isl_basic_set_plain_is_empty(bset))
+               return isl_set_from_basic_set(bset);
 
        nparam = isl_basic_set_dim(bset, isl_dim_param);
        n_div = isl_basic_set_dim(bset, isl_dim_div);