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
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make