23 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/* Print a key-value pair of a YAML mapping to "p",9 * with key "name" and value "val".10 */11static __isl_give isl_printer *FN(print_yaml_field,BASE)(12 __isl_take isl_printer *p, const char *name, __isl_keep TYPE *val)13{14 p = isl_printer_print_str(p, name);15 p = isl_printer_yaml_next(p);16 p = isl_printer_print_str(p, "\"");17 p = FN(isl_printer_print,BASE)(p, val);18 p = isl_printer_print_str(p, "\"");19 p = isl_printer_yaml_next(p);20 21 return p;22}23