Hello, Stef.
I am the one who usually does the warning removal in XEmacs.
It seems that you have examined the warnings in 21.1.7. I do not
think we should try to fix those warnings, UNLESS YOU FIND A GENUINE
BUG, but instead concentrate on fixing warnings in 21.2. The reason
for this is that:
- warning fixes to 21.1 will not make it to 21.2 and so will be
dead-end.
- we are trying for stability in 21.1, and so only true bug fixes
should go into 21.1.
- the biggest reason for removing compiler warnings is so that
developers will run the compiler with maximal warnings turned on,
BUT developers are mostly using 21.2, so warning fixes for 21.1 will
be relatively wasted effort.
Currently, the warnings we get in the src directory in 21.2 are as
follows:
(martin@lasker) ~/x/build/mo9/src $ rm *.o; make >/dev/null
/hack/import/gcc-2.95.2/inst/linux-libc2/bin/gcc -c -mcpu=pentiumpro
-march=pentiumpro -O3 -Wall -Wpointer-arith -Winline
-Wmissing-prototypes -Wmissing-declarations -Wunused -Wformat
-Wno-switch -Wno-sign-compare -Wshadow ...
/home/martin/x/ws/dev/src/eval.c: In function `Feval':
/home/martin/x/ws/dev/src/eval.c:2850: warning: `val' might be used uninitialized in
this function
/home/martin/x/ws/dev/src/eval.c: In function `Ffuncall':
/home/martin/x/ws/dev/src/eval.c:3116: warning: `val' might be used uninitialized in
this function
/home/martin/x/ws/dev/src/mule-ccl.c: In function `ccl_driver':
/home/martin/x/ws/dev/src/mule-ccl.c:763: warning: `this_ic' might be used
uninitialized in this function
In file included from /home/martin/x/ws/dev/src/glyphs-eimage.c:66:
/usr/include/png.h:1270: warning: declaration of `error' shadows global declaration
/usr/include/png.h:1274: warning: declaration of `error' shadows global declaration
/usr/include/png.h:1278: warning: declaration of `message' shadows global declaration
/usr/include/png.h:1282: warning: declaration of `message' shadows global declaration
/home/martin/x/ws/dev/src/gui.c:254: warning: no previous prototype for
`gui_add_item_keywords_to_plist'
/home/martin/x/ws/dev/src/redisplay-output.c: In function `redisplay_output_layout':
/home/martin/x/ws/dev/src/redisplay-output.c:1205: warning: declaration of
`frame_changed' shadows global declaration
/home/martin/x/ws/dev/src/window.c: In function `Fset_window_configuration':
/home/martin/x/ws/dev/src/window.c:4952: warning: `previous_minibuf_top' might be used
uninitialized in this function
The ``might be used uninitialized'' warnings are gcc bugs. We could
``fix'' those by initializing automatic variables, and in fact I have
done a lot of that in the past. But in the case of Feval and
Ffuncall, it might make those very heavily used functions slower, and
warning removal is just not worth it.
The png.h warnings cannot be removed by us, and they are also gcc bugs.
Andy has the job of fixing the gui_add_item_keywords_to_plist warning.
The other warnings should be investigated for possible removal.
The source code not maintained by us, for example etags.c, generates
many warnings, but cannot be fixed without taking on new maintenance
burdens.
So, I guess I....errr... veto pure warning removal patches for 21.1,
but might accept them for 21.2 (but not to eval.c or etags.c).
Martin