This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: multi-line #defines
- To: cygwin at sourceware dot cygnus dot com, mark at emmestech dot com
- Subject: Re: multi-line #defines
- From: "13mb80000-HallM(10053584)37x10" <marcus at bighorn dot dr dot lucent dot com>
- Date: Wed, 17 May 2000 13:02:06 -0600 (MDT)
- Reply-To: "13mb80000-HallM(10053584)37x10" <marcus at bighorn dot dr dot lucent dot com>
> The problem on my machine (Win98) was that the compiler didn't seem to
> recognize or like multiple line #defines, which could be found in files like
> reent.h, winnt.h, etc. An error message of "stray \ in program" was
generated.
> Removing the continuation back-slashes simply caused other error messages
since
> the multi-line #define still was not recognized. The solution on my machine
> was to remove both the "\" and the following linefeed, i.e. to create a long,
> but one-line #define.
>
> Is this a problem for anyone but me? Is there a patch/upgrade? Is there
> a work-around? I am nervous that other machines may not like the very long
> lines that I am using with my "fix".
I suspect that you have a text/binary mount point problem (or a related
one). The file most likely has <CR><LF> terminations and the compiler is
reading it in binary mode, so it sees these terminations at the end of the
line. Now, <CR> is counted as a whitespace character, so the compiler does
not usually get too upset by this, but if a #define is continued to the
next line with a '\', the compiler (actually the pre-processor) sees the
<CR> as the following character, not '\n', and it does not treat it as
a continuation.
marcus
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com