brintos

brintos / llvm-project-archived public Read only

0
0
Text · 737 B · 333c44c Raw
33 lines · c
1#define xCAT(A,B) A ## B2#define CAT(A,B) xCAT(A,B)3#undef TYPE4#define TYPE CAT(isl_,BASE)5#define xFN(TYPE,NAME) TYPE ## _ ## NAME6#define FN(TYPE,NAME) xFN(TYPE,NAME)7 8/* Check that printing "obj" and parsing the output results9 * in the same expression.10 */11static isl_stat FN(check_reparse,BASE)(isl_ctx *ctx,12	__isl_take TYPE *obj)13{14	char *str;15	isl_bool equal;16	TYPE *obj2;17 18	str = FN(TYPE,to_str)(obj);19	obj2 = FN(TYPE,read_from_str)(ctx, str);20	free(str);21	equal = FN(TYPE,plain_is_equal)(obj, obj2);22	FN(TYPE,free)(obj);23	FN(TYPE,free)(obj2);24	if (equal < 0)25		return isl_stat_error;26	if (!equal)27		isl_die(ctx, isl_error_unknown,28			"parsed function not equal to original",29			return isl_stat_error);30 31	return isl_stat_ok;32}33