From 30bf44c73c64d20064fbf3d2c8e2dbb5cf89e13a Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Tue, 7 Aug 2018 12:09:42 +0200 Subject: [PATCH] isl_term_get_exp: return isl_size This clarifies what the possible return values are. Signed-off-by: Sven Verdoolaege --- doc/user.pod | 2 +- include/isl/polynomial.h | 2 +- isl_polynomial.c | 6 +++--- isl_range.c | 11 +++++++++-- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/doc/user.pod b/doc/user.pod index 57388996..0f886fbc 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -2776,7 +2776,7 @@ these functions enum isl_dim_type type); __isl_give isl_val *isl_term_get_coefficient_val( __isl_keep isl_term *term); - int isl_term_get_exp(__isl_keep isl_term *term, + isl_size isl_term_get_exp(__isl_keep isl_term *term, enum isl_dim_type type, unsigned pos); __isl_give isl_aff *isl_term_get_div( __isl_keep isl_term *term, unsigned pos); diff --git a/include/isl/polynomial.h b/include/isl/polynomial.h index 24574995..89f2a6c1 100644 --- a/include/isl/polynomial.h +++ b/include/isl/polynomial.h @@ -111,7 +111,7 @@ __isl_null isl_term *isl_term_free(__isl_take isl_term *term); isl_size isl_term_dim(__isl_keep isl_term *term, enum isl_dim_type type); __isl_give isl_val *isl_term_get_coefficient_val(__isl_keep isl_term *term); -int isl_term_get_exp(__isl_keep isl_term *term, +isl_size isl_term_get_exp(__isl_keep isl_term *term, enum isl_dim_type type, unsigned pos); __isl_give isl_aff *isl_term_get_div(__isl_keep isl_term *term, unsigned pos); diff --git a/isl_polynomial.c b/isl_polynomial.c index d60908a7..8e69f52c 100644 --- a/isl_polynomial.c +++ b/isl_polynomial.c @@ -4046,16 +4046,16 @@ __isl_give isl_val *isl_term_get_coefficient_val(__isl_keep isl_term *term) static #include "check_type_range_templ.c" -int isl_term_get_exp(__isl_keep isl_term *term, +isl_size isl_term_get_exp(__isl_keep isl_term *term, enum isl_dim_type type, unsigned pos) { int offset; if (isl_term_check_range(term, type, pos, 1) < 0) - return -1; + return isl_size_error; offset = isl_term_offset(term, type); if (offset < 0) - return -1; + return isl_size_error; return term->pow[offset + pos]; } diff --git a/isl_range.c b/isl_range.c index 8cfac386..d1e48ae5 100644 --- a/isl_range.c +++ b/isl_range.c @@ -199,6 +199,7 @@ static isl_stat collect_fixed_sign_terms(__isl_take isl_term *term, void *user) int sign; isl_size nparam; isl_size nvar; + isl_size exp; nparam = isl_term_dim(term, isl_dim_param); nvar = isl_term_dim(term, isl_dim_set); @@ -213,13 +214,19 @@ static isl_stat collect_fixed_sign_terms(__isl_take isl_term *term, void *user) for (i = 0; i < nparam; ++i) { if (data->signs[i] > 0) continue; - if (isl_term_get_exp(term, isl_dim_param, i) % 2) + exp = isl_term_get_exp(term, isl_dim_param, i); + if (exp < 0) + return isl_stat_error; + if (exp % 2) sign = -sign; } for (i = 0; i < nvar; ++i) { if (data->signs[nparam + i] > 0) continue; - if (isl_term_get_exp(term, isl_dim_set, i) % 2) + exp = isl_term_get_exp(term, isl_dim_set, i); + if (exp < 0) + return isl_stat_error; + if (exp % 2) sign = -sign; } -- 2.11.4.GIT