#define xCAT(A,B) … #define CAT(A,B) … #undef TYPE #define TYPE … #define xFN(TYPE,NAME) … #define FN(TYPE,NAME) … /* Print a key-value pair of a YAML mapping to "p", * with key "name" and value "val". */ static __isl_give isl_printer *FN(print_yaml_field,BASE)( __isl_take isl_printer *p, const char *name, __isl_keep TYPE *val) { … }