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
>>
>>
>

Attachment: TinyMUX-811780.patch
Description: Binary data

Reply via email to