This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: preprocessor bug(?)


On Thu, Nov 07, 2002 at 04:19:31PM -0800, Dale Johannesen wrote:
> One of our users just did this:
> 
> // comment, space character follows the backslash:\
> main() {
> }
> 
> gcc ignores the space character, which causes the comment to eat the 
> next line.
> That's wrong, isn't it?

No, that's an intentional feature.  From the manual:

  3. Continued lines are merged into one long line.

     A continued line is a line which ends with a backslash, `\'.  The
     backslash is removed and the following line is joined with the
     current one.  No space is inserted, so you may split a line
     anywhere, even in the middle of a word.  (It is generally more
     readable to split lines only at white space.)

     The trailing backslash on a continued line is commonly referred to
     as a "backslash-newline".

     If there is white space between a backslash and the end of a line,
     that is still a continued line.  However, as this is usually the
     result of an editing mistake, and many compilers will not accept
     it as a continued line, GCC will warn you about it.

Note especially the last paragraph.  The user did get a warning,
didn't they?

zw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]