Package: ecere-sdk
Version: 0.44.09.9-1
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.

[...]
Building ecere...
make[4]: Entering directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-ecere-sdk/ecere-sdk-0.44.09.9/compiler/bootstrap/ecere'
file bootstrap/Container.c line 942 function __ecereRegisterModule_Container: 
structure member designator 1 out of bounds (1)
CONVERSION ERROR
Makefile:171: recipe for target 'obj/bootstrap.linux/Container.o' failed
make[4]: *** [obj/bootstrap.linux/Container.o] Error 64
make[4]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-ecere-sdk/ecere-sdk-0.44.09.9/compiler/bootstrap/ecere'
Makefile:48: recipe for target 'ecere' failed
make[3]: *** [ecere] Error 2

This may be reviewed here:

http://sources.debian.net/src/ecere-sdk/0.44.09.9-1/compiler/bootstrap/ecere/bootstrap/Container.c?hl=942#L942

Observe that the C standard clarifies that union initialisers always initialise
the first element. Thus this is the struct, with 2 elements, in lines 255 and
256:

http://sources.debian.net/src/ecere-sdk/0.44.09.9-1/compiler/bootstrap/ecere/bootstrap/Container.c?hl=255,256#L249

As such all but the first two elements (which should be enclosed in { }) are
excess initialisers.

Best,
Michael

Attachment: pgpPrPbd5ytmH.pgp
Description: PGP signature

Reply via email to