Package: netmaze
Version: 0.81+jpg0.82-14.1
Severity: wishlist
Usertags: goto-cc

During a rebuild of all Debian packages in a clean sid chroot (using cowbuilder
and pbuilder) the build failed with the following error. Please note that we
use our research compiler tool-chain (using tools from the cbmc package), which
permits extended reporting on type inconsistencies at link time.

[...]
gcc -o follower -g -O3 -fno-strict-aliasing       follower.o allmove.o robot.o 
network.o maze.o      -lm 
warning: ignoring void/non-void return type conflict on function "init_robot"
old definition in module follower file follower.c line 18
void (void)
new definition in module robot file robot.c line 44
signed int (void)

error: conflicting function declarations "start_robot"
old definition in module follower file follower.c line 24
void (void)
new definition in module robot file robot.c line 43
void (signed int)
Makefile:1118: recipe for target 'follower' failed
make[1]: *** [follower] Error 64
make[1]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-netmaze/netmaze-0.81+jpg0.82'
debian/rules:27: recipe for target 'build' failed
make: *** [build] Error 2

This code may work correctly in that excess function arguments are ignored, but
the C standard certainly does not provide any such guarantee. As such the
functions in follower.c should be adjusted in order to match the signatures
prescribed in function robot.c to ensure correct operation when invoked via the
function pointers.

Best,
Michael

Attachment: pgpO206PX8XVF.pgp
Description: PGP signature

Reply via email to