[GRASS-dev] suspicious warnings while compiling GRASS trunk
(r38973)
Glynn Clements
glynn at gclements.plus.com
Sat Sep 5 14:38:10 EDT 2009
Ivan Shmakov wrote:
> When building GRASS trunk (as of r38973) on an amd64 system,
> I've spotted the following warnings that look a bit suspicious.
>
> I have no time now to investigate these further, but perhaps
> someone could take a look?
>
> make[3]: Entering directory `/.../grass-trunk-r38973/lib/gis'
> spawn.c:474: warning: cast from pointer to integer of different size
These are safe. The values are small integers which have been cast to
pointers, so casting them back to integers is safe.
I don't think that the warnings can be eliminated.
> trim_dec.c:30: warning: 'return' with a value, in function returning void
Fixed in r39000.
> make[3]: Entering directory `/.../grass-trunk-r38973/lib/gmath'
> /.../grass-trunk-r38973/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h:72: warning: parameter names (without types) in function declaration
> /.../grass-trunk-r38973/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h:74: warning: parameter names (without types) in function declaration
> /.../grass-trunk-r38973/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h:86: warning: parameter names (without types) in function declaration
Needs <stddef.h> for size_t; fixed in r39006.
> make[3]: Entering directory `/.../grass-trunk-r38973/lib/cluster'
> c_assign.c:34: warning: passing argument 1 of 'G_debug' makes integer from pointer without a cast
> c_assign.c:34: warning: passing argument 2 of 'G_debug' makes pointer from integer without a cast
Debug level omitted; fixed in r39001.
> make[3]: Entering directory `/.../grass-trunk-r38973/lib/sites'
> sites.c:621: warning: cast from pointer to integer of different size
Used (char)NULL instead of '\0' for NUL byte; harmless other than the
warnings; fixed in r39002.
> make[2]: Entering directory `/.../grass-trunk-r38973/display/d.legend'
> main.c:377: warning: passing argument 1 of 'Rast_get_c_cat' makes pointer from integer without a cast
> main.c:408: warning: passing argument 1 of 'Rast_get_c_cat' from incompatible pointer type
> main.c:607: warning: passing argument 1 of 'Rast_get_c_cat' makes pointer from integer without a cast
> main.c:783: warning: passing argument 1 of 'Rast_get_c_cat' from incompatible pointer type
> main.c:785: warning: passing argument 1 of 'Rast_get_c_cat' from incompatible pointer type
These are actual errors; I'll look into this later.
> make[2]: Entering directory `/.../grass-trunk-r38973/raster/r.circle'
> main.c:44: warning: cast from pointer to integer of different size
Harmless, but both the initialisation and the FILEDESC typedef were
gratuituous; fixed in r39005.
> make[2]: Entering directory `/.../grass-trunk-r38973/raster/r.in.poly'
> local_proto.h:3: warning: 'struct Categories' declared inside parameter list
> local_proto.h:3: warning: its scope is only this definition or declaration, which is probably not what you want
Needs <grass/raster.h>; fixed in r39007.
> make[3]: Entering directory `/.../grass-trunk-r38973/raster/r.li/r.li.shape'
> map.c:344: warning: cast to pointer from integer of different size
The named file doesn't exist in this directory.
> make[3]: Entering directory `/.../grass-trunk-r38973/raster/r.li/r.li.padsd'
> xround.c:24: warning: conflicting types for built-in function 'round'
Likewise.
> make[2]: Entering directory `/.../grass-trunk-r38973/raster/r.out.vtk'
> pv.h:33: warning: 'struct Colors' declared inside parameter list
> pv.h:33: warning: its scope is only this definition or declaration, which is probably not what you want
> pv.h:33: warning: 'struct Colors' declared inside parameter list
> pv.h:33: warning: its scope is only this definition or declaration, which is probably not what you want
Likewise.
> make[2]: Entering directory `/.../grass-trunk-r38973/raster/r.statistics2'
> method.h:33: warning: 'struct Categories' declared inside parameter list
> method.h:33: warning: its scope is only this definition or declaration, which is probably not what you want
Likewise.
> make[2]: Entering directory `/.../grass-trunk-r38973/raster/r.to.vect'
> areas_io.c:360: warning: passing argument 1 of 'Rast_get_c_cat' from incompatible pointer type
This is an actual error, similar to d.legend. I'll look into this later.
> make[2]: Entering directory `/.../grass-trunk-r38973/vector/v.normal'
> main.c:124: warning: cast from pointer to integer of different size
Another (char)NULL case; fixed in r39010.
> make[3]: Entering directory `/.../grass-trunk-r38973/ps/ps.map'
> ps_fclrtbl.c:217: warning: cast from pointer to integer of different size
> ps_fclrtbl.c:217: warning: cast from pointer to integer of different size
This introduces an actual bug on 64-bit systems. Fixed in r39011.
> make[1]: Entering directory `/.../grass-trunk-r38973/gem'
> tools.c:56: warning: comparison with string literal results in unspecified behavior
Fixed in r39014.
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev
mailing list