#define CV __perl_CV /* beginning of include XSUB.h */ struct cv { int i; }; typedef struct cv CV; #define XSPROTO(name) CV name /* end of include XSUB.h */ #undef XSPROTO #define XSPROTO(name) __perl_CV name #undef CV struct CV { char c; }; XSPROTO(x); int main() { struct CV y; x.i = 0; y.c = '!'; return 0; }