#1134519 gecode-snapshot: ftbfs with GCC-16

#1134519#5
Date:
2026-04-21 08:08:29 UTC
From:
To:
Hi,

gecode-snapshot fails to build in a test rebuild on at least amd64 and arm64 with
gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this
report will be raised before the forky release.

The full build log can be found at:
https://people.debian.org/~ema/gcc-16-rebuilds/output-1/gecode-snapshot_arm64.build.xz

The relevant lines of the build log are at the end of this report.

To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++

Common build failures include unused (but set) variables, array subscripts
partly outside array bounds, and new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-16/porting_to.html

Please only close this issue after double-checking that the package can be
built correctly with GCC 16.

Please do not reassign this bug to another package. If a fix in another package
is required, then file a bug for the other package (or clone), and mark this
bug as blocked by the bug in the other package.

[...]

In destructor ‘virtual Gecode::Search::CutoffAppend::~CutoffAppend()’,
    inlined from ‘virtual Gecode::Search::CutoffAppend::~CutoffAppend()’ at ./gecode/search/cutoff.hpp:105:3:
./gecode/search/cutoff.hpp:103:3: error: inlining failed in call to ‘always_inline’ ‘virtual Gecode::Search::CutoffAppend::~CutoffAppend() noexcept’: --param max-inline-insns-single limit reached
  103 |   CutoffAppend::~CutoffAppend(void) {
      |   ^~~~~~~~~~~~
./gecode/search/cutoff.hpp:104:12: note: called from here
  104 |     delete c1; delete c2;
      |            ^~
In destructor ‘virtual Gecode::Search::CutoffMerge::~CutoffMerge()’,
    inlined from ‘virtual Gecode::Search::CutoffMerge::~CutoffMerge()’ at ./gecode/search/cutoff.hpp:114:3,
    inlined from ‘virtual Gecode::Search::CutoffAppend::~CutoffAppend()’ at ./gecode/search/cutoff.hpp:104:12,
    inlined from ‘virtual Gecode::Search::CutoffAppend::~CutoffAppend()’ at ./gecode/search/cutoff.hpp:105:3:
./gecode/search/cutoff.hpp:103:3: error: inlining failed in call to ‘always_inline’ ‘virtual Gecode::Search::CutoffAppend::~CutoffAppend() noexcept’: --param max-inline-insns-single limit reached
  103 |   CutoffAppend::~CutoffAppend(void) {
      |   ^~~~~~~~~~~~
./gecode/search/cutoff.hpp:113:12: note: called from here
  113 |     delete c1; delete c2;
      |            ^~
./gecode/search/cutoff.hpp:112:3: error: inlining failed in call to ‘always_inline’ ‘virtual Gecode::Search::CutoffMerge::~CutoffMerge() noexcept’: --param max-inline-insns-single limit reached
  112 |   CutoffMerge::~CutoffMerge(void) {
      |   ^~~~~~~~~~~
./gecode/search/cutoff.hpp:113:12: note: called from here
  113 |     delete c1; delete c2;
      |            ^~

#1134519#10
Date:
2026-04-21 08:20:03 UTC
From:
To:
as well, but with a different error:

g++ -I. -fcx-limited-range -fno-signaling-nans -fno-rounding-math -ffinite-math-only -fno-math-errno -fno-strict-aliasing  -fvisibility=
hidden -ggdb -std=c++17 -pipe -Wno-unknown-pragmas -Wall -Wextra -fPIC -DNDEBUG -g -O2 -ffile-prefix-map=/build/reproducible-path/gecode
-snapshot-6.2.0+git20260120=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -O3 -D_
REENTRANT -Wdate-time -D_FORTIFY_SOURCE=2  -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB  -I. -I/usr/i
nclude/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt6/QtWidgets -I/usr/incl
ude/x86_64-linux-gnu/qt6/QtGui -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ \
 \
-c -o gecode/gist/nodestats.o  gecode/gist/nodestats.cpp
In file included from ./gecode/support.hh:90,
                 from gecode/support/thread/thread.cpp:34:
./gecode/support/cast.hpp:41:3: error: ‘forceinline’ does not name a type
   41 |   forceinline T
      |   ^~~~~~~~~~~
In file included from ./gecode/support.hh:90,
                 from gecode/support/heap.cpp:34:
./gecode/support/cast.hpp:41:3: error: ‘forceinline’ does not name a type
   41 |   forceinline T
      |   ^~~~~~~~~~~
In file included from ./gecode/support.hh:91:
./gecode/support/hash.hpp:43:3: error: ‘forceinline’ does not name a type
   43 |   forceinline void
      |   ^~~~~~~~~~~
In file included from ./gecode/support.hh:90,
                 from gecode/support/allocator.cpp:34:
./gecode/support/cast.hpp:41:3: error: ‘forceinline’ does not name a type
   41 |   forceinline T
      |   ^~~~~~~~~~~
In file included from ./gecode/support.hh:91:
./gecode/support/hash.hpp:43:3: error: ‘forceinline’ does not name a type
   43 |   forceinline void
      |   ^~~~~~~~~~~

[...]