--- Begin Message ---
Package: src:gcc-avr
Version: 1:5.4.0+Atmel3.6.2-1
Severity: normal
Tags: sid bookworm
User: debian-...@lists.debian.org
Usertags: ftbfs-gcc-11
[This bug is not targeted to the upcoming bullseye release]
Please keep this issue open in the bug tracker for the package it
was filed for. If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.
The package fails to build in a test rebuild on at least amd64 with
gcc-11/g++-11, but succeeds to build with gcc-10/g++-10. The
severity of this report will be raised before the bookworm release,
so nothing has to be done for the bullseye release.
The full build log can be found at:
http://people.debian.org/~doko/logs/20210228/filtered/gcc11/gcc-avr_5.4.0+Atmel3.6.2-1_unstable_gcc11.log
The last lines of the build log are at the end of this report.
To build with GCC 11, either set CC=gcc-11 CXX=g++-11 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-11/porting_to.html
GCC 11 defaults to the GNU++17 standard. If your package installs
header files in /usr/include, please don't work around C++17 issues
by choosing a lower C++ standard for the package build, but fix these
issues to build with the C++17 standard.
[...]
../../gcc/gcc/recog.h:306:76: warning: cast between incompatible function types
from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to ‘insn_gen_fn::f5’
{aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*)’}
[-Wcast-function-type]
306 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4) const {
return ((f5)func) (a0, a1, a2, a3, a4); }
|
^~~~~~~~
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx) const’:
../../gcc/gcc/recog.h:307:84: warning: cast between incompatible function types
from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to ‘insn_gen_fn::f6’
{aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*)’} [-Wcast-function-type]
307 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5)
const { return ((f6)func) (a0, a1, a2, a3, a4, a5); }
|
^~~~~~~~
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx, rtx) const’:
../../gcc/gcc/recog.h:308:92: warning: cast between incompatible function types
from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to ‘insn_gen_fn::f7’
{aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*)’} [-Wcast-function-type]
308 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6) const { return ((f7)func) (a0, a1, a2, a3, a4, a5, a6); }
|
^~~~~~~~
In file included from ../../gcc/gcc/reload1.c:68:
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx) const’:
../../gcc/gcc/recog.h:309:100: warning: cast between incompatible function
types from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to
‘insn_gen_fn::f8’ {aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*)’} [-Wcast-function-type]
309 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6, rtx a7) const { return ((f8)func) (a0, a1, a2, a3, a4, a5, a6, a7); }
|
^~~~~~~~
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx) const’:
../../gcc/gcc/recog.h:310:108: warning: cast between incompatible function
types from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to
‘insn_gen_fn::f9’ {aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*)’} [-Wcast-function-type]
310 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6, rtx a7, rtx a8) const { return ((f9)func) (a0, a1, a2, a3, a4, a5, a6, a7,
a8); }
|
^~~~~~~~
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx)
const’:
../../gcc/gcc/recog.h:311:116: warning: cast between incompatible function
types from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to
‘insn_gen_fn::f10’ {aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*)’}
[-Wcast-function-type]
311 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6, rtx a7, rtx a8, rtx a9) const { return ((f10)func) (a0, a1, a2, a3, a4, a5,
a6, a7, a8, a9); }
|
^~~~~~~~~
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx)
const’:
../../gcc/gcc/recog.h:312:125: warning: cast between incompatible function
types from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to
‘insn_gen_fn::f11’ {aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*)’}
[-Wcast-function-type]
312 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6, rtx a7, rtx a8, rtx a9, rtx a10) const { return ((f11)func) (a0, a1, a2,
a3, a4, a5, a6, a7, a8, a9, a10); }
|
^~~~~~~~~
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx,
rtx) const’:
../../gcc/gcc/recog.h:313:134: warning: cast between incompatible function
types from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to
‘insn_gen_fn::f12’ {aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*)’} [-Wcast-function-type]
313 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6, rtx a7, rtx a8, rtx a9, rtx a10, rtx a11) const { return ((f12)func) (a0,
a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
|
^~~~~~~~~
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx,
rtx, rtx) const’:
../../gcc/gcc/recog.h:314:143: warning: cast between incompatible function
types from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to
‘insn_gen_fn::f13’ {aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*)’} [-Wcast-function-type]
314 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6, rtx a7, rtx a8, rtx a9, rtx a10, rtx a11, rtx a12) const { return
((f13)func) (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
|
^~~~~~~~~
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx,
rtx, rtx, rtx) const’:
../../gcc/gcc/recog.h:315:152: warning: cast between incompatible function
types from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to
‘insn_gen_fn::f14’ {aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*)’} [-Wcast-function-type]
315 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6, rtx a7, rtx a8, rtx a9, rtx a10, rtx a11, rtx a12, rtx a13) const { return
((f14)func) (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
|
^~~~~~~~~
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx,
rtx, rtx, rtx, rtx) const’:
../../gcc/gcc/recog.h:316:161: warning: cast between incompatible function
types from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to
‘insn_gen_fn::f15’ {aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*)’} [-Wcast-function-type]
316 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6, rtx a7, rtx a8, rtx a9, rtx a10, rtx a11, rtx a12, rtx a13, rtx a14) const
{ return ((f15)func) (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12,
a13, a14); }
|
^~~~~~~~~
../../gcc/gcc/recog.h: In member function ‘rtx_def*
insn_gen_fn::operator()(rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx,
rtx, rtx, rtx, rtx, rtx) const’:
../../gcc/gcc/recog.h:317:170: warning: cast between incompatible function
types from ‘insn_gen_fn::stored_funcptr’ {aka ‘rtx_def* (*)()’} to
‘insn_gen_fn::f16’ {aka ‘rtx_def* (*)(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*)’} [-Wcast-function-type]
317 | rtx operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6, rtx a7, rtx a8, rtx a9, rtx a10, rtx a11, rtx a12, rtx a13, rtx a14, rtx
a15) const { return ((f16)func) (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
a11, a12, a13, a14, a15); }
|
^~~~~~~~~
../../gcc/gcc/reload1.c: In function ‘void init_reload()’:
../../gcc/gcc/reload1.c:115:24: error: use of an operand of type ‘bool’ in
‘operator++’ is forbidden in C++17
115 | (this_target_reload->x_spill_indirect_levels)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/reload1.c:470:7: note: in expansion of macro
‘spill_indirect_levels’
470 | spill_indirect_levels++;
| ^~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/reload1.c: In function ‘void elimination_effects(rtx,
machine_mode)’:
../../gcc/gcc/reload1.c:3084:7: warning: this statement may fall through
[-Wimplicit-fallthrough=]
3084 | if (code == POST_MODIFY || code == PRE_MODIFY)
| ^~
../../gcc/gcc/reload1.c:3088:5: note: here
3088 | case STRICT_LOW_PART:
| ^~~~
make[3]: *** [Makefile:1064: reload1.o] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/objdir/gcc'
make[2]: *** [Makefile:4094: all-gcc] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/objdir'
make[1]: *** [Makefile:852: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>/objdir'
make: *** [debian/rules:64: build-stamp] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
--- End Message ---