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 int a(int b) { int c; c = b + b + b + ... + b; return (c); } 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.