Hi Martin,
Thanks for first reporting this issue.
This was caused by the eC compiler not separating multiple attributes
with commas in generated C code, which apparently would pass silently in
previous GCC versions.
This has been solved upstream on the master branch (
https://github.com/ecere/ecere-sdk/commit/5c4b8a9129d7d4f46aa4a75b102b26b70ebd0aa1
) and the fix will be included in next package release.
Confirming the Ecere SDK now builds fine with GCC 6.1.1 on Debian
Unstable with the latest upstream source.
Best regards,
-Jerome
On 2016-01-19 11:03 PM, Martin Michlmayr wrote:
Package: ecere-sdk
Version: 0.44.14-1
Severity: important
User: debian-...@lists.debian.org
Usertags: ftbfs-gcc-6
This package fails to build with GCC 6. GCC 6 has not been released
yet, but it's expected that GCC 6 will become the default compiler for
stretch.
Note that only the first error is reported; there might be more. You
can find a snapshot of GCC 6 in experimental. To build with GCC 6,
you can set CC=gcc-6 CXX=g++-6 explicitly.
You may be able to find out more about this issue at
https://gcc.gnu.org/gcc-6/changes.html
sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux
...
Building 2nd stage ecere...
make[2]: Entering directory '/<<PKGBUILDDIR>>/ecere'
obj/release.linux/Archive.c:327:93: error: expected ')' before '__leaf__'
extern unsigned int gnu_dev_major(unsigned long long int __dev)
__attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
^~~~~~~~
obj/release.linux/Archive.c:327:102: error: expected ',' or ';' before ')' token
extern unsigned int gnu_dev_major(unsigned long long int __dev)
__attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
^
obj/release.linux/Archive.c:329:93: error: expected ')' before '__leaf__'
extern unsigned int gnu_dev_minor(unsigned long long int __dev)
__attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
^~~~~~~~
obj/release.linux/Archive.c:329:102: error: expected ',' or ';' before ')' token
extern unsigned int gnu_dev_minor(unsigned long long int __dev)
__attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
^
obj/release.linux/Archive.c:331:119: error: expected ')' before '__leaf__'
extern unsigned long long int gnu_dev_makedev(unsigned int __major, unsigned
int __minor) __attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
^~~~~~~~
obj/release.linux/Archive.c:331:128: error: expected ',' or ';' before ')' token
extern unsigned long long int gnu_dev_makedev(unsigned int __major, unsigned
int __minor) __attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
^
Makefile:1440: recipe for target 'obj/release.linux/Archive.o' failed