X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_map_subtract.c;h=2c958c766f9e801469503df13f95fa4d976a9edb;hb=7bc3560a92635b5dcf7eb9e7329992fc935a1ce2;hp=3e07311f225647812aacd3253979bedc12f7367d;hpb=bbf118d271fb69c7554bd7ff5b812b7172b5cd24;p=platform%2Fupstream%2Fisl.git diff --git a/isl_map_subtract.c b/isl_map_subtract.c index 3e07311..2c958c7 100644 --- a/isl_map_subtract.c +++ b/isl_map_subtract.c @@ -326,6 +326,8 @@ static int basic_map_collect_diff(__isl_take isl_basic_map *bmap, map = isl_map_order_divs(map); tab = isl_tab_from_basic_map(bmap, 1); + if (!tab) + goto error; modified = 0; level = 0; @@ -775,6 +777,7 @@ static int map_is_singleton_subset(__isl_keep isl_map *map1, static int map_is_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2) { int is_subset = 0; + int empty; int rat1, rat2; if (!map1 || !map2) @@ -783,10 +786,16 @@ static int map_is_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2) if (!isl_map_has_equal_space(map1, map2)) return 0; - if (isl_map_is_empty(map1)) + empty = isl_map_is_empty(map1); + if (empty < 0) + return -1; + if (empty) return 1; - if (isl_map_is_empty(map2)) + empty = isl_map_is_empty(map2); + if (empty < 0) + return -1; + if (empty) return 0; rat1 = isl_map_has_rational(map1);