This is caused by cpp inserting a spurious newline after occurrance of a macro with arguments withourt parentheses (which it is supposed to leave alone):
[EMAIL PROTECTED]:/tmp% cat first.S #define S(x) foobar foo ! S bar [EMAIL PROTECTED]:/tmp% cpp-3.2 < first.S # 1 "<stdin>" # 1 "<built-in>" # 1 "<command line>" # 1 "<stdin>" foo ! S bar [EMAIL PROTECTED]:/tmp% cpp-3.3 < first.S # 1 "<stdin>" # 1 "<built-in>" # 1 "<command line>" # 1 "<stdin>" foo ! S # 3 "<stdin>" bar Bug still there in cpp 3.4 20030911. -- Falk