isl_pw_*_free: return NULL
authorSven Verdoolaege <skimo@kotnet.org>
Fri, 24 Jun 2011 12:48:42 +0000 (14:48 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sat, 25 Jun 2011 20:22:21 +0000 (22:22 +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_pw_templ.c

index 626a4d3..9cbab6a 100644 (file)
@@ -2480,7 +2480,7 @@ functions.
 
        __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_copy(
                __isl_keep isl_pw_qpolynomial *pwqp);
-       void isl_pw_qpolynomial_free(
+       void *isl_pw_qpolynomial_free(
                __isl_take isl_pw_qpolynomial *pwqp);
 
        __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_copy(
@@ -2712,7 +2712,7 @@ following functions.
                __isl_keep isl_union_pw_qpolynomial_fold *upwf);
        void isl_qpolynomial_fold_free(
                __isl_take isl_qpolynomial_fold *fold);
-       void isl_pw_qpolynomial_fold_free(
+       void *isl_pw_qpolynomial_fold_free(
                __isl_take isl_pw_qpolynomial_fold *pwf);
        void isl_union_pw_qpolynomial_fold_free(
                __isl_take isl_union_pw_qpolynomial_fold *upwf);
index a4fc7b7..6027e14 100644 (file)
@@ -146,7 +146,7 @@ __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_alloc(__isl_take isl_set *set,
        __isl_take isl_qpolynomial *qp);
 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_copy(
        __isl_keep isl_pw_qpolynomial *pwqp);
-void isl_pw_qpolynomial_free(__isl_take isl_pw_qpolynomial *pwqp);
+void *isl_pw_qpolynomial_free(__isl_take isl_pw_qpolynomial *pwqp);
 
 int isl_pw_qpolynomial_is_zero(__isl_keep isl_pw_qpolynomial *pwqp);
 
@@ -318,7 +318,7 @@ __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_alloc(
        __isl_take isl_set *set, __isl_take isl_qpolynomial_fold *fold);
 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_copy(
        __isl_keep isl_pw_qpolynomial_fold *pwf);
-void isl_pw_qpolynomial_fold_free(__isl_take isl_pw_qpolynomial_fold *pwf);
+void *isl_pw_qpolynomial_fold_free(__isl_take isl_pw_qpolynomial_fold *pwf);
 
 int isl_pw_qpolynomial_fold_is_zero(__isl_keep isl_pw_qpolynomial_fold *pwf);
 
index 4ebebcc..f337293 100644 (file)
@@ -154,14 +154,14 @@ __isl_give PW *FN(PW,copy)(__isl_keep PW *pw)
        return pw;
 }
 
-void FN(PW,free)(__isl_take PW *pw)
+void *FN(PW,free)(__isl_take PW *pw)
 {
        int i;
 
        if (!pw)
-               return;
+               return NULL;
        if (--pw->ref > 0)
-               return;
+               return NULL;
 
        for (i = 0; i < pw->n; ++i) {
                isl_set_free(pw->p[i].set);
@@ -169,6 +169,8 @@ void FN(PW,free)(__isl_take PW *pw)
        }
        isl_dim_free(pw->dim);
        free(pw);
+
+       return NULL;
 }
 
 int FN(PW,is_zero)(__isl_keep PW *pw)