delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/05/14/02:13:23

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 <dj AT delorie DOT com>
To: pavenis AT lanet DOT lv
CC: djgpp-workers AT delorie DOT com
In-reply-to: <Pine.A41.4.05.10105140826430.37950-100000@ieva06.lanet.lv>
(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: <Pine DOT A41 DOT 4 DOT 05 DOT 10105140826430 DOT 37950-100000 AT ieva06 DOT lanet DOT lv>
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

> -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.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019