isl_basic_map_free: return NULL
authorSven Verdoolaege <skimo@kotnet.org>
Tue, 14 Aug 2012 07:29:47 +0000 (09:29 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Thu, 6 Sep 2012 13:45:20 +0000 (15:45 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/map.h
isl_map.c

index e21077e..df85dd1 100644 (file)
@@ -1283,7 +1283,7 @@ functions.
        void isl_basic_set_free(__isl_take isl_basic_set *bset);
        void *isl_set_free(__isl_take isl_set *set);
        void *isl_union_set_free(__isl_take isl_union_set *uset);
-       void isl_basic_map_free(__isl_take isl_basic_map *bmap);
+       void *isl_basic_map_free(__isl_take isl_basic_map *bmap);
        void isl_map_free(__isl_take isl_map *map);
        void *isl_union_map_free(__isl_take isl_union_map *umap);
 
index d225922..fdef473 100644 (file)
@@ -116,7 +116,7 @@ struct isl_basic_map *isl_basic_map_alloc(struct isl_ctx *ctx,
 __isl_give isl_basic_map *isl_basic_map_identity(__isl_take isl_space *dim);
 struct isl_basic_map *isl_basic_map_identity_like(struct isl_basic_map *model);
 struct isl_basic_map *isl_basic_map_finalize(struct isl_basic_map *bmap);
-void isl_basic_map_free(__isl_take isl_basic_map *bmap);
+void *isl_basic_map_free(__isl_take isl_basic_map *bmap);
 __isl_give isl_basic_map *isl_basic_map_copy(__isl_keep isl_basic_map *bmap);
 struct isl_basic_map *isl_basic_map_extend(struct isl_basic_map *base,
                unsigned nparam, unsigned n_in, unsigned n_out, unsigned extra,
index 60d4a50..d30f27a 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -926,13 +926,13 @@ struct isl_map *isl_map_copy(struct isl_map *map)
        return map;
 }
 
-void isl_basic_map_free(struct isl_basic_map *bmap)
+void *isl_basic_map_free(__isl_take isl_basic_map *bmap)
 {
        if (!bmap)
-               return;
+               return NULL;
 
        if (--bmap->ref > 0)
-               return;
+               return NULL;
 
        isl_ctx_deref(bmap->ctx);
        free(bmap->div);
@@ -942,6 +942,8 @@ void isl_basic_map_free(struct isl_basic_map *bmap)
        isl_vec_free(bmap->sample);
        isl_space_free(bmap->dim);
        free(bmap);
+
+       return NULL;
 }
 
 void isl_basic_set_free(struct isl_basic_set *bset)