With the following patch, it will successfully build on Debian SID with experimental GCC-6. All the build breaks I found are related to -Wnarrowing and nothing else.
But, there remains a type-punning case between CMDENT structure and the CMDENT_* variants that the compiler isn't complaining about. Fixing that leads to a much larger change. So, the options are: 1. Debian takes just the patch to fix the build. 2. I start with TinyMUX 2.6.5.33 (the latest upstream maintenance version), include this patch, and submit a new .deb package. Is there a preference? On Tue, Jan 19, 2016 at 8:12 PM, Stephen Dennis <[email protected]> wrote: > Thanks for the report. Installing experimental Debian now. > > On Tue, Jan 19, 2016 at 6:59 PM, Martin Michlmayr <[email protected]> wrote: > >> Package: tinymux >> Version: 2.6.5.28-1 >> Severity: important >> User: [email protected] >> Usertags: ftbfs-gcc-6 gcc-6-narrowing >> >> 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 >> ... >> > g++ -g -O -DWOD_REALMS -DREALITY_LVLS -c bsd.cpp >> > g++ -g -O -DWOD_REALMS -DREALITY_LVLS -c command.cpp >> > command.cpp:43:1: error: narrowing conversion of '2147483650u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:43:1: error: narrowing conversion of '2147483649u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:80:1: error: narrowing conversion of '2147483649u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:80:1: error: narrowing conversion of '2147483776u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:80:1: error: narrowing conversion of '2147483712u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:80:1: error: narrowing conversion of '2147483650u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:123:1: error: narrowing conversion of '2147483656u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:123:1: error: narrowing conversion of '2147483652u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:139:1: error: narrowing conversion of '2147483664u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:147:1: error: narrowing conversion of '2147483650u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:169:1: error: narrowing conversion of '2147483652u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:169:1: error: narrowing conversion of '2147483649u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:169:1: error: narrowing conversion of '2147483650u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:177:1: error: narrowing conversion of '2147483712u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:177:1: error: narrowing conversion of '2147483904u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:177:1: error: narrowing conversion of '2147483776u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:199:1: error: narrowing conversion of '2147483664u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:199:1: error: narrowing conversion of '2147483680u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:232:1: error: narrowing conversion of '2147483656u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:232:1: error: narrowing conversion of '2147483652u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:269:1: error: narrowing conversion of '2147483712u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:362:1: error: narrowing conversion of '2147483904u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:400:1: error: narrowing conversion of '2147483664u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:421:1: error: narrowing conversion of '2684354560u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:432:1: error: narrowing conversion of '2147483656u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:432:1: error: narrowing conversion of '2147483776u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:432:1: error: narrowing conversion of '2147483712u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:432:1: error: narrowing conversion of '2684354560u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:440:1: error: narrowing conversion of '2684354560u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:449:1: error: narrowing conversion of '2147483652u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:459:1: error: narrowing conversion of '2147483664u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:459:1: error: narrowing conversion of '2147483656u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:459:1: error: narrowing conversion of '2147483652u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:465:1: error: narrowing conversion of '2684354568u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:491:1: error: narrowing conversion of '2147483652u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > }; >> > ^ >> > >> > command.cpp:491:1: error: narrowing conversion of '2147483680u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:491:1: error: narrowing conversion of '2147483712u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:491:1: error: narrowing conversion of '2147483650u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> > command.cpp:491:1: error: narrowing conversion of '2147483649u' from >> 'unsigned int' to 'int' inside { } [-Wnarrowing] >> ... >> >> -- >> Martin Michlmayr >> Linux for HPE Helion, Hewlett Packard Enterprise >> >> >
TinyMUX-811780.patch
Description: Binary data

