Attached is a simple .c file (not even a program, intended for input for the preprocessor) and the output when run with the processors from the latest RH7 errata GCC 2.96 and the RH7 KGCC 2.91.66 (egcs 1.1.2). I included the output from stderr of the newer preprocessor as well. This should be a suitable simple testcase for a preprocessor. Maybe it would be good to see the results on other C preprocessors like Solaris C so that we can get a good idea if gcc should continue to support this even though I don't think it is specifically mentioned in any C standards. -Dave
#define Bad VERY_Bad #define A2(a) PREFIX_##a #define A1(a) (A2(##a)) A1(Good); A1(Bad); A2(Bad); #define B2(a) a #define B1(a) (B2(##a)) B1(Good); B1(Bad); B2(Bad);
# 1 "" (PREFIX_Good ) ; (PREFIX_Bad ) ; PREFIX_Bad ; ( Good ) ; ( VERY_Bad ) ; VERY_Bad ;
# 1 "" (PREFIX_Good); (PREFIX_VERY_Bad); PREFIX_Bad; (Good); (VERY_Bad); VERY_Bad;
<stdin>:5:18: warning: nothing can be pasted after this token <stdin>:12:18: warning: nothing can be pasted after this token