Date: Mon, 14 May 2001 02:11:06 -0400 Message-Id: <200105140611.CAA27953@envy.delorie.com> X-Authentication-Warning: envy.delorie.com: dj set sender to dj AT envy DOT delorie DOT com using -f From: DJ Delorie To: pavenis AT lanet DOT lv CC: djgpp-workers AT delorie DOT com In-reply-to: (message from Andris Pavenis on Mon, 14 May 2001 08:39:55 +0300 (WET)) Subject: Re: [PATCH] Update to compiler options for DJGPP CVS version References: Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > -Wtraditional (not -traditional) is generating lot of additional warnings > (interpretted as errors). Here ar examples of warnings I'm getting with > -Wtraditional: These are all easily fixed, and in many cases makes the code easier to read, and thus easier to maintain. I would rather keep -Wtraditional in, it may spot a bug, and it helps keep the code clean and readable. > i586-pc-msdosdjgpp-gcc -pipe ... -c doprnt.c > cc1: warnings being treated as errors > doprnt.c: In function `_doprnt': > doprnt.c:262: warning: traditional C rejects automatic aggregate initialization So split it into two lines. > doprnt.c: At top level: > doprnt.c:474: warning: traditional C rejects the 'l' suffix > doprnt.c:474: warning: traditional C rejects the 'l' suffix > doprnt.c:474: warning: traditional C rejects the 'l' suffix > doprnt.c:474: warning: traditional C rejects the 'l' suffix > doprnt.c:474: warning: traditional C rejects the 'l' suffix > .... > doprnt.c:797: warning: traditional C rejects the 'l' suffix The 'L' suffix isn't needed anyway. > doprnt.c:801: warning: traditional C lacks a separate namespace for > labels, identifier `start' conflicts Conflicts with *what* ? It looks like there's a line missing here. > make -C ansi/time > i586-pc-msdosdjgpp-gcc -pipe ... -c ctime.c > ctime.c: In function `mktime': > ctime.c:1493: warning: traditional C rejects automatic aggregate initialization So split it into two lines. > make -C compat/mntent > i586-pc-msdosdjgpp-gcc -pipe ... -c mntent.c > mntent.c: In function `get_stacker_info': > mntent.c:208: warning: traditional C rejects the 'u' suffix > mntent.c:217: warning: traditional C rejects the 'u' suffix So use a constant without the high bit set (we're making it up anyway) so that we don't *need* a 'u' suffix. > mntent.c:864:2: warning: suggest not using #elif in traditional C So take it out and use nested #if's > i586-pc-msdosdjgpp-gcc -pipe ... -c nice.c > nice.c: In function `nice': > nice.c:26: warning: traditional C rejects the unary plus operator > nice.c:26: warning: traditional C rejects the unary plus operator So take the '+' out of the #define. > i586-pc-msdosdjgpp-gcc -pipe ... -c d_strerr.c > d_strerr.c:383:4: warning: traditional C ignores #ifdef with the # indented > d_strerr.c:385:4: warning: traditional C ignores #else with the # indented > d_strerr.c:387:4: warning: traditional C ignores #endif with the # indented Indented cpp commands are ugly anyway. Unindent them. > make -C go32 > i586-pc-msdosdjgpp-gcc -pipe ... -c dpmiexcp.c > dpmiexcp.c: In function `do_faulting_finish_message': > dpmiexcp.c:261: warning: traditional C rejects string concatenation Please make sure you have the latest sources from cvs; mine don't have string concatenation anywhere near that line that I could find.