bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Latest CVS make compile warnings fix


From: J. Grant
Subject: Re: Latest CVS make compile warnings fix
Date: Sun, 10 Jul 2005 01:50:45 +0100
User-agent: Mozilla/5.0 (X11; U; GNU/Linux i686; en; rv:1.7.8) Gecko/20050513 Debian/1.7.8-1

Hi Paul,

[...]
  jg> If I submit fixes for these would they be reviewed for inclusion ?

I'm happy to look at them, but they will not be easy to fix.

I'm happy to assist if needed.  I hope the 3.81 release can have as few
warnings as possible.

  jg> main.c:420: warning: missing initializer
  jg> main.c:420: warning: (near initialization for `switches[30].type')

This one, IMO, could be a bug in GCC.  As far as I can tell the
initializer is correct.  The only way to avoid the warning seems to be
to put a full suite of 0 initializations into the last element.  But
that shouldn't be necessary, if I remember my ISO standard properly.

  jg> main.c: In function `main':
  jg> main.c:1790: warning: comparison of unsigned expression < 0 is always 
false
  jg> main.c:2122: warning: comparison of unsigned expression < 0 is always 
false

  jg> remake.c: In function `update_file_1':
  jg> remake.c:432: warning: comparison of unsigned expression < 0 is always 
false
  jg> remake.c: In function `notice_finished_file':
  jg> remake.c:863: warning: comparison of unsigned expression < 0 is always 
fals

  jg> file.c: In function `file_timestamp_cons':
  jg> file.c:679: warning: comparison of unsigned expression < 0 is always false
  jg> file.c:680: warning: comparison between signed and unsigned
  jg> file.c:680: warning: comparison of unsigned expression < 0 is always false
  jg> file.c:683: warning: comparison of unsigned expression < 0 is always false

All of these are not going to be easy to fix.  The code is actually
created that way for a reason, IIRC.

It will be a little difficult to work out what the code is that is
compiled, as there seems to be (traditionally) excessive use of
pre-processor macro expansion to inline code.  Could we update to be
inline functions which we can leave the compiler to decide if it that
suits the build config to inline?

  jg> job.c: In function `start_job_command':
jg> job.c:944: warning: variable `flags' might be clobbered by `longjmp' or jg> `vfork' jg> job.c:948: warning: variable `argv' might be clobbered by `longjmp' or jg> `vfork'
  jg> job.c: In function `construct_command_argv_internal':

Hm.  I think this has already been resolved: are you looking at the
beta3 code??  I don't get this warning anymore in my version.

I did cvs update -d after your last commit, and also just now.  My code
still gives me that warning.  I am using gcc (GCC) 3.3.5 (Debian 1:3.3.5-8)
on on an i586.

There is another similar one here:

function.c: In function `func_shell':
function.c:1466: warning: variable `error_prefix' might be clobbered by
`longjmp' or `vfork'
function.c:1457: warning: argument `o' might be clobbered by `longjmp'
or `vfork

Kind regards
JG




reply via email to

[Prev in Thread] Current Thread [Next in Thread]