[GRASS-dev] suspicious warnings while compiling GRASS trunk (r39080)

Glynn Clements glynn at gclements.plus.com
Fri Sep 11 23:46:49 EDT 2009

Ivan Shmakov wrote:

> make[2]: Entering directory `/var/home/ivan/devel/grass-trunk-r39080/raster/r.mapcalc'
> map.c:344: warning: cast to pointer from integer of different size
> 	Not quite sure about this one.

This is a bug, introduced in r38099, along with simlar bugs affecting
d.legend and r.to.vect.

G_get_cat() took a CELL argument (so FCELL or DCELL arguments will be
implicitly cast).

Rast_get_c_cat() takes a CELL* and Rast_get_cat() takes a void*. 
Passing the value itself is an error, as is passing a pointer to the
wrong numeric type.

It appears that calls to G_get_cat() were initially replaced with
Rast_get_cat(). This will produce errors due to the wrong number of
arguments (Rast_get_cat() also needs a RASTER_MAP_TYPE argument). So
it was changed to Rast_get_c_cat(), which has the right number of
arguments, but the wrong types, hence the errors.

I've fixed these specific cases with r39133, but I can't rule out the
possibility that others may have been hidden by casts.

> xround.c:24: warning: conflicting types for built-in function 'round'
> 	Seems to be harmless, though may easily be silenced by, like:

Done in r39130, except:

>  /**********************************************************************
> -round(x)
> +i_round(x)

This is the name of the r.mapcalc function which the file implements,
so shouldn't be changed.

> make[2]: Entering directory `/var/home/ivan/devel/grass-trunk-r39080/raster/r.out.vrml'
> pv.h:33: warning: 'struct Colors' declared inside parameter list

> 	Needs #include <grass/raster.h>.

Fixed in r39131, plus some clean-up.

> --- raster/r.statistics/method.h	2009-09-08 19:14:04.000000000 +0700
> +++ raster/r.statistics/method.h	2009-09-08 21:43:54.983370151 +0700
> @@ -1,3 +1,5 @@
> +#include <grass/raster.h>

Fixed in r39132 (also <stdio.h> for FILE).

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-dev mailing list