RFA: Ignore DOS end-of-line characters (ctrl-Z) unless -W

Andris Pavenis pavenis@latnet.lv
Wed May 8 07:15:00 GMT 2002




On Wed, 8 May 2002, Eli Zaretskii wrote:

> 
> On Wed, 8 May 2002, Andris Pavenis wrote:
> 
> > >   Gcc will issue a warning message if a source file contains a DOS
> > >   end-of-file character (ctrl-Z).  The patch below silences this
> > >   warning, unless the -W (extra warnings) switch is used.  This will
> > >   allow source files created under DOS to be compiled without
> > >   prejudice.
> > > 
> > >   May I apply this patch please ?
> > 
> > For DJGPP (i[3456]86-pc-msdosdjgpp) I tried to truncate input after 
> > Ctrl-Z in gcc/cppfiles.c. ^Z is end-of-file for DOS anyway, so the
> > correct action should perhaps be ignoring rest of file.
> 
> I agree with Andris: the right thing is to stop reading at the first ^Z 
> character.  (A warning under -W is also okay, I think.)
> 
> If ignoring everything after ^Z is somehow a problem, please describe the 
> situation where that problem happens.

One situation is our problems with DJGPP. For this case preventing
using input after ^Z in gcc/cppfiles.c is enough (enclosing 
related code in '#ifdef __DJGPP__' and '#endif'). I did it for DJGPP ports
of gcc-3.0.X and will keep for gcc-3.1 (had to update it as patch was
slightly bitrotted)

Original message (and patch) was due to a different reason: use of source
files originated from DOS under other systems (unfortunatelly read 
initial message not too carefully ...)
 
> 
> Hmm, does this mean GCC reads files in binary mode?  (If not, the library 
> will stop at the first ^Z, and GCC itself will never see any ^Zs.)
> 

It reads in binary mode.

Andris




More information about the Gcc-patches mailing list