isl_union_pw_*_free: return NULL
authorSven Verdoolaege <skimo@kotnet.org>
Tue, 20 Mar 2012 12:28:27 +0000 (13:28 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Sun, 6 May 2012 12:33:03 +0000 (14:33 +0200)
Returning NULL helps to simplify error handling code.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/polynomial.h
isl_union_templ.c

index 048ac2c..f511fbb 100644 (file)
@@ -3557,7 +3557,7 @@ functions.
 
        __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_copy(
                __isl_keep isl_union_pw_qpolynomial *upwqp);
-       void isl_union_pw_qpolynomial_free(
+       void *isl_union_pw_qpolynomial_free(
                __isl_take isl_union_pw_qpolynomial *upwqp);
 
 =head3 Inspecting (Piecewise) Quasipolynomials
@@ -3816,7 +3816,7 @@ following functions.
                __isl_take isl_qpolynomial_fold *fold);
        void *isl_pw_qpolynomial_fold_free(
                __isl_take isl_pw_qpolynomial_fold *pwf);
-       void isl_union_pw_qpolynomial_fold_free(
+       void *isl_union_pw_qpolynomial_fold_free(
                __isl_take isl_union_pw_qpolynomial_fold *upwf);
 
 =head3 Printing Piecewise Quasipolynomial Reductions
index b5db847..6354c60 100644 (file)
@@ -445,7 +445,7 @@ __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_add_pw_qpolynomial
        __isl_take isl_pw_qpolynomial *pwqp);
 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_copy(
        __isl_keep isl_union_pw_qpolynomial *upwqp);
-void isl_union_pw_qpolynomial_free(__isl_take isl_union_pw_qpolynomial *upwqp);
+void *isl_union_pw_qpolynomial_free(__isl_take isl_union_pw_qpolynomial *upwqp);
 
 __isl_constructor
 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_read_from_str(
@@ -513,7 +513,7 @@ __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_zero(
 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_fold_pw_qpolynomial_fold(
        __isl_take isl_union_pw_qpolynomial_fold *upwqp,
        __isl_take isl_pw_qpolynomial_fold *pwqp);
-void isl_union_pw_qpolynomial_fold_free(
+void *isl_union_pw_qpolynomial_fold_free(
        __isl_take isl_union_pw_qpolynomial_fold *upwf);
 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_copy(
        __isl_keep isl_union_pw_qpolynomial_fold *upwf);
index 498badf..7da2601 100644 (file)
@@ -244,18 +244,19 @@ static int free_u_entry(void **entry, void *user)
        return 0;
 }
 
-void FN(UNION,free)(__isl_take UNION *u)
+void *FN(UNION,free)(__isl_take UNION *u)
 {
        if (!u)
-               return;
+               return NULL;
 
        if (--u->ref > 0)
-               return;
+               return NULL;
 
        isl_hash_table_foreach(u->dim->ctx, &u->table, &free_u_entry, NULL);
        isl_hash_table_clear(&u->table);
        isl_space_free(u->dim);
        free(u);
+       return NULL;
 }
 
 S(UNION,align) {