------- Comment #1 from jakub at gcc dot gnu dot org  2009-10-19 08:13 -------
The lines are joined into a logical line, that's what the C standard requires. 
But where do you see requirement that everything on one logical line has to
appear on the line in preprocessed output?  The reason it is emitted on the
next line is to give the second string literal token proper location.  The
tokens are separate and a compiler compiles both "foo" "bar" and
"foo"
"bar"
the same (as it doesn't record the line numbers for the string literals at
all).
See PR41445 for why this change has been made.

If you care about this because you use the preprocessed output for something
else, consider using -P option.  That says you don't care about token
locations.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41748

Reply via email to