xref: /llvm-project/polly/lib/External/isl/check_single_reference_templ.c (revision 842314b5f078b5c63df1d7e271fc6fad8461d44f)
1 #define xFN(TYPE,NAME) TYPE ## _ ## NAME
2 #define FN(TYPE,NAME) xFN(TYPE,NAME)
3 
4 /* Check that "obj" has a single reference.
5  * That is, check that "obj" can be changed inplace.
6  */
FN(TYPE,check_single_reference)7 isl_stat FN(TYPE,check_single_reference)(__isl_keep TYPE *obj)
8 {
9 	isl_bool single;
10 
11 	single = FN(TYPE,has_single_reference)(obj);
12 	if (single < 0)
13 		return isl_stat_error;
14 	if (!single)
15 		isl_die(FN(TYPE,get_ctx)(obj), isl_error_invalid,
16 			"object should have a single reference",
17 			return isl_stat_error);
18 	return isl_stat_ok;
19 }
20