This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


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

Re: gcc does not handle macro properly


papilla@cs.tamu.edu says:

>... gcc does not handle propertly the following macro:
> 
> #define	FD_CLR(fd,set) do { \
> 	u_int __i; \
> 	for (__i = 0; ...
> 
> The compiler says: parse error before for...
> 
> In fact, I edited the file with vi and remove all the ^M after the \ and
> it works. (Now I have different error messages) I am pretty sure that it
> comes from some silly TEXT and BINARY mode. And perhaps the solution would
> be to use the 'mount' programs....
> 
> Benoit Papillault

Absolutely correct.  If the file has <CR><LF> present for newlines and you
mount it as text, the \<CR><LF> is read as a backslash followed by a newline.
The compiler treats this as whitespace.  If, however, you mount its filesystem
as a binary only filesystem, the compiler reads backslash, carriage return,
newline.  It treats the backslash carriage return sequence as just a carriage
return (whitespace), then the newline is processed which terminates the
macro definition.

marcus hall
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


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