The cpp shipped with Red Hat 7.0, at least on Intel hardware, silently
truncates long (and I mean very long) lines. This showed up in complaints
from users trying to recompile MLton (our ML compiler).
As a simple test case, consider the C source file
c = b + b + b + ... + b;
where you include 100,000 b's (so the line will have 400,004 bytes in it).
If you run this through `gcc -E', the output will only be about 7000 bytes
wide and will end in a `+', the rest having been discarded.
Please note, these lines would be rather ridiculous if generated by hand,
but they are the output of our compiler. Automatically generated C is
quite common (consider the output of yacc, or lex for instance).
It is a real disaster that not only does cpp fail, but it fails silently,
with no error message and no funny exit status.
assigned to jakub
Will be fixed in cpp-2.96-64.