Package: filtergen
Version: 0.12.4-5.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.

[...]
x86_64-linux-gnu-gcc -D_GNU_SOURCE -O2 -W -Wall -Werror -Waggregate-return 
-Wcast-align -Wcast-qual -Wnested-externs -Wshadow -Wbad-function-cast 
-Wwrite-strings -g  -o filtergen  filtergen.o gen.o filter.o fg-util.o 
fg-iptables.o fg-ipchains.o fg-ipfilter.o fg-cisco.o parser.o scanner.o glue.o 
resolver.o icmpent.o factoriser.o  

error: conflicting function declarations "yyrestart"
old definition in module scanner file scanner.c line 1473
void (struct _IO_FILE *input_file)
new definition in module glue file glue.c line 26
signed int (struct _IO_FILE *)
Makefile:323: recipe for target 'filtergen' failed
make[3]: *** [filtergen] Error 64
make[3]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-filtergen/filtergen-0.12.4'
Makefile:601: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1

For some reason, the return type of yyrestart is marked as int, rather than
void, here:

http://sources.debian.net/src/filtergen/0.12.4-5.1/glue.c?hl=26#L26

As all other declarations use void and no return value is ever used, this is
really just a declaration mistake. Amending this will make sure no one ever uses
the non-existent return value.

Best,
Michael

Attachment: pgpW7EEIW0Fy0.pgp
Description: PGP signature

Reply via email to