brintos

brintos / llvm-project-archived public Read only

0
0
Text · 842 B · 50f7f1f Raw
40 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 8void FN(TYPE,dump)(__isl_keep TYPE *obj)9{10	isl_printer *p;11 12	if (!obj)13		return;14 15	p = isl_printer_to_file(FN(TYPE,get_ctx)(obj), stderr);16	p = isl_printer_set_yaml_style(p, ISL_YAML_STYLE_BLOCK);17	p = FN(isl_printer_print,BASE)(p, obj);18	isl_printer_free(p);19}20 21/* Return a string representation of "obj".22 * Print the object in flow format.23 */24__isl_give char *FN(TYPE,to_str)(__isl_keep TYPE *obj)25{26	isl_printer *p;27	char *s;28 29	if (!obj)30		return NULL;31 32	p = isl_printer_to_str(FN(TYPE,get_ctx)(obj));33	p = isl_printer_set_yaml_style(p, ISL_YAML_STYLE_FLOW);34	p = FN(isl_printer_print,BASE)(p, obj);35	s = isl_printer_get_str(p);36	isl_printer_free(p);37 38	return s;39}40