From: haleyjd AT NOSPAM DOT hotmail DOT com (James Haley) Newsgroups: comp.os.msdos.djgpp Subject: Re: No new line at end of file? Date: 07 Sep 2002 00:51:45 GMT Organization: Concentric Internet Services Lines: 29 Message-ID: <3d794cbc.170442372@news.concentric.net> References: <3d71a27d DOT 23705885 AT news DOT nzwide DOT ihug DOT co DOT nz> NNTP-Posting-Host: 64.2.0.207 X-Newsreader: Forte Free Agent 1.11/32.235 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com I want someone to show me the precise line of the ANSI and/or ISO C standards where they say that there have to be newlines at the end of files. I have used DJGPP with gcc 2.81, SunOS gcc 2.95.3, Visual C++ 6.0, and several other C and C++ compilers and not a single one of them enforces such a ridiculous and arbitrary requirement. C is specified to be a freeform language and this means that whitespace is irrelevant. If there needs to be at least one token of whitespace between an include file and the module into which it is included, then it should be the responsibility of the C Preprocessor to insert one or more such tokens to guarantee that there is space. I have taken over 48 hours of Computer Science classes, one of which was a dedicated ANSI C class, another of which was a C++ class, and two of which were language design classes. Not only that, but I am also in the process of writing a compiler for a C-like language whose grammar is based upon the ANSI C grammar itself, and I can assure you that it has no requirements for new lines. I am the maintainer of the code that Joel mentioned here, and frankly I resent being expected to perform such asinine whitespace formatting in a free form language. I refuse to waste any effort toward doing this, and I suggest that the writers of DJGPP learn how to write and maintain a usable compiler and stop changing the whole interface and behavior of the program between every minor version change. Until that time, I'm through trying to support the DJGPP platform.