rkc@XN.LL.MIT.EDU (Rob Cunningham) (02/26/90)
While trying to use gcc to compile various sunview things (under sunos 4.0.3) I ran into the recent problem with gcc's preprocessor, and sun's CAT macro. In condensed form, here's what it looks like: /* Start of "C" file */ #ifndef CAT #undef IDENT #define IDENT(x) x #define CAT(a,b) IDENT(a)b #endif main() { int name_data; CAT(name,_data) = 5; printf("%d\n",name_data); } Here's the output from pcc -E: # 1 "temp.c" main() { int name_data; name_data = 5; printf("%d\n",name_data); } Here's the output from gcc -E: # 1 "temp.c" main() { int name_data; name _data = 5; printf("%d\n",name_data); } /* End of output */ NOTE THE name<space>_data line-- the space between the name and data makes it impossible to use this macro with gcc (and thus to use gcc with sun's include files.) As I'm not a compiler guru, I don't know how to fix the problem, but I hope someone who does can fix it. -Rob