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
pgpO206PX8XVF.pgp
Description: PGP signature