11 lines · c
1#define xCAT(A,B) A ## B2#define CAT(A,B) xCAT(A,B)3#undef PART4#define PART CAT(isl_,BASE)5#undef UNION6#define UNION CAT(isl_union_,BASE)7#define xFN(TYPE,NAME) TYPE ## _ ## NAME8#define FN(TYPE,NAME) xFN(TYPE,NAME)9#define xS(TYPE,NAME) struct TYPE ## _ ## NAME10#define S(TYPE,NAME) xS(TYPE,NAME)11