[Bug c++/38433] Incorrect handling of line termination character with trailing spaces
joseph at codesourcery dot com
gcc-bugzilla@gcc.gnu.org
Sun Dec 7 00:29:00 GMT 2008
------- Comment #2 from joseph at codesourcery dot com 2008-12-07 00:28 -------
Subject: Re: New: Incorrect handling of line termination
character with trailing spaces
On Sat, 6 Dec 2008, eric dot niebler at gmail dot com wrote:
> In the attached file, there is a comment terminated with a line-termination
> character (\) followed by spaces. This should NOT be considered a line
> terminator, yet gcc considers it as such. From 2.1/2 in the C++03 standard:
>
> "Each instance of a new-line character and an immediately preceding backslash
> character is deleted, splicing physical source lines to form logical source
> lines."
This (removal of such spaces) is part of how GCC defines the
implementation-defined mapping in translation phase 1. There are no input
files that GCC interprets as representing a program that enters phase 2
with backslash-space at the end of a line.
> That is, only backslashes immediately followed by a newline are considered line
> terminators. The existing behavior of gcc violates the standard and conflicts
> with the behavior of other popular C++ compilers (EDG, MSVC).
No, it conforms to the standard but does not allow certain programs to be
represented. (I think this is a bad idea, but that's another matter.)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38433
More information about the Gcc-bugs
mailing list