| #define xFN(TYPE,NAME) TYPE ## _ ## NAME |
| #define FN(TYPE,NAME) xFN(TYPE,NAME) |
| |
| /* Check that there are "n" dimensions of type "type" starting at "first" |
| * in "obj". |
| */ |
| isl_stat FN(TYPE,check_range)(__isl_keep TYPE *obj, |
| enum isl_dim_type type, unsigned first, unsigned n) |
| { |
| isl_size dim; |
| |
| dim = FN(TYPE,dim)(obj, type); |
| if (dim < 0) |
| return isl_stat_error; |
| if (first + n > dim || first + n < first) |
| isl_die(FN(TYPE,get_ctx)(obj), isl_error_invalid, |
| "position or range out of bounds", |
| return isl_stat_error); |
| return isl_stat_ok; |
| } |