Hi,

This is a summary of the compilation warnings caused by gcc-3.0.4 on
Linux. Some of them are rather harmless (e.g. unused parameter), but
could be avoided nevertheless. Others (like comparison
unsigned/signed) may be an implementation bug. Please check.

The following two tables list the numbers of warnings per file:

./configure --disable-warnings:
      2 sanei_scsi.c
      2 sanei_usb.c
      4 agfafocus.c
      5 as6e.c
      2 avision.c
      8 canon-sane.c
     23 coolscan.c
      1 coolscan2.c
      1 dc25.c
     10 djpeg.c
     12 dmc.c
      2 epson_scsi.c
      2 hp-accessor.c
     53 hp-option.c
      2 hp-scl.c
      2 hp.c
      6 microtek.c
     25 mustek_pp.c
     12 nec.c
      3 net.c
      4 pie.c
      4 qcam.c
      1 ricoh-scsi.c
     12 s9036.c
      8 sharp.c
     14 sp15c.c
      1 sp15c-scsi.h
      1 sp15c.c
     11 st400.c
      4 tamarack.c
     13 umax_pp_low.c
      6 umax_pp.c
      2 dll-preload.c
      1 dll.c

Full log at:
http://www.meier-geinitz.de/sane/tmp/warnings-2002-11-16-gcc3.0-nowarn.log

With all warnings enabled, there are some more "false alerts". E.g.
the compiler complains about printf ("%p", pointer), where pointer
points to something other that void. Can this really make trouble?
Anyway, for completeness:

      2 ../include/getopt.h
     22 sanei_wire.c
     22 sanei_scsi.c
      4 sanei_usb.c
      2 abaton.c
      4 agfafocus.c
      2 apple.c
      3 artec.c
      5 as6e.c
      2 avision.c
     10 canon-sane.c
      2 canon630u-common.c
      1 canon630u.c
      1 canon_pp-dev.c
     27 canon_pp.c
     18 coolscan-scsidef.h
     64 coolscan.c
      2 coolscan2.c
      1 dc25.c
     10 djpeg.c
      1 dc210.c
     17 dmc.c
      2 epson_scsi.c
      2 epson.c
     55 gt68xx_low.c
      2 gt68xx_gt6801.c
      2 gt68xx_gt6816.c
      4 hp-accessor.c
      4 hp-device.c
     55 hp-option.c
      2 hp-scl.c
      2 hp.c
      1 leo.c
      2 matsushita.c
     11 microtek.c
     65 microtek2.c
     33 mustek_pp.c
      3 mustek_usb_low.c
      4 mustek_usb_mid.c
     14 mustek_usb_high.c
     18 nec.c
     20 net.c
      4 pie.c
      2 plustek.c
      5 qcam.c
      1 ricoh-scsi.c
      2 ricoh.c
     12 s9036.c
      1 sceptre.c
     13 sharp.c
      4 snapscan-usb.c
     18 sp15c-scsi.h
     23 sp15c.c
      1 sp15c-scsi.h
      1 sp15c.c
     33 st400.c
      8 tamarack.c
      3 test-picture.c
     11 test.c
      1 teco1.c
      1 teco2.c
      1 teco3.c
      3 umax-usb.c
      1 umax.c
     14 umax_pp_low.c
      6 umax_pp.c
      1 umax1220u.c
      1 v4l.c
      1 dll.c
      2 dll-preload.c
      9 dll.c
      3 scanimage.c
      4 saned.c

Full log at:
http://www.meier-geinitz.de/sane/tmp/warnings-2002-11-16-gcc3.0-warn.log

Sorted by type of warning (gcc-3.0, warnings enabled):
    230  warning: void format, [foo] type
    170  warning: unused parameter `[foo]'
    115  warning: cast discards qualifiers from pointer target type
     54  warning: pointer targets in passing arg [foo] of `[bar]' differ in 
signedness
     37  warning: pointer targets in initialization differ in signedness
     32  warning: comparison between signed and unsigned
     19  warning: passing arg [foo] of `[bar]' discards qualifiers from pointer 
target type
     11  warning: unused variable `[foo]'
      5  warning: signed and unsigned type in conditional expression
      5  warning: function declaration isn't a prototype
      5  warning: `[foo]' defined but not used
      4  warning: ISO C forbids use of cast expressions as lvalues
      3  warning: string length `[foo]' is greater than the length `509' ISO 
C89 compilers are required to support
      3  warning: overflow in implicit constant conversion
      3  warning: implicit declaration of function [foo]
      3  warning: assignment discards qualifiers from pointer target type
      2  warning: pointer targets in assignment differ in signedness
      2  warning: passing arg [foo] of `[bar]' from incompatible pointer type
      2  warning: missing initializer
      2  warning: [foo] format, [bar] arg (arg [baz])
      1  warning: too many arguments for format
      1  warning: suggest explicit braces to avoid ambiguous `else'
      1  warning: operation on `p' may be undefined
      1  warning: assignment from incompatible pointer type

Bye,
  Henning

Reply via email to