My codebase has multiple auto-generated headers that don't start or end with newlines. When they're included consecutively the first line of the second header ends up joined to the end of the last line of the first header. This resulted in something like the following:
#define MACRO (some + expression)#define SECONDMACRO
which of course cscout's parser choked on when MACRO was finally invoked in an expression.
CPP always keeps the lines separate in this case, and the project builds successfully.