I just upgraded to Fedora 40, which comes with GCC 14 and started running into the following compile error:
Making all in integer
make[4]: Entering directory '/home/mahrud/Projects/M2/M2/M2/BUILD/build/libraries/givaro/build/src/kernel/integer'
/bin/sh ../../../libtool --tag=CXX --mode=compile /usr/lib64/ccache/c++ -DHAVE_CONFIG_H -I. -I/home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel/integer -I../../.. -I../../.. -I../../../src/kernel/memory -I../../../src/kernel/system -I../../../src/kernel -I../../../src/kernel/ring -I../../../src/kernel/rational -I/home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel -DSING_NDEBUG -DOM_NDEBUG -DNDEBUG -I/home/linuxbrew/.linuxbrew/opt/gmp/include -O2 -Wall -DNDEBUG -UDEBUG -march=native -Wuninitialized -g3 -I/home/mahrud/Projects/M2/M2/M2/BUILD/build/usr-host/include -I/home/mahrud/Projects/M2/M2/M2/include -I/home/mahrud/Projects/M2/M2/M2/BUILD/build/include -std=gnu++11 -w -Wno-mismatched-tags -Wno-deprecated-register -MT givinteger.lo -MD -MP -MF .deps/givinteger.Tpo -c -o givinteger.lo /home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel/integer/givinteger.C
libtool: compile: /usr/lib64/ccache/c++ -DHAVE_CONFIG_H -I. -I/home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel/integer -I../../.. -I../../.. -I../../../src/kernel/memory -I../../../src/kernel/system -I../../../src/kernel -I../../../src/kernel/ring -I../../../src/kernel/rational -I/home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel -DSING_NDEBUG -DOM_NDEBUG -DNDEBUG -I/home/linuxbrew/.linuxbrew/opt/gmp/include -O2 -Wall -DNDEBUG -UDEBUG -march=native -Wuninitialized -g3 -I/home/mahrud/Projects/M2/M2/M2/BUILD/build/usr-host/include -I/home/mahrud/Projects/M2/M2/M2/include -I/home/mahrud/Projects/M2/M2/M2/BUILD/build/include -std=gnu++11 -w -Wno-mismatched-tags -Wno-deprecated-register -MT givinteger.lo -MD -MP -MF .deps/givinteger.Tpo -c /home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel/integer/givinteger.C -o givinteger.o
In file included from ./givaro/givinteger.h:24,
from /home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel/integer/givinteger.C:13:
./givaro/random-integer.h: In member function 'Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>& Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>::operator=(const Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>&)':
./givaro/random-integer.h:94:54: error: no match for 'operator=' (operand types are 'Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>::Integer_Domain' {aka 'Givaro::ZRing<Givaro::Integer>'} and 'const Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>::Integer_Domain' {aka 'const Givaro::ZRing<Givaro::Integer>'})
94 | const_cast<Integer_Domain&>(_ring)=R._ring;
| ^~~~~
At global scope:
cc1plus: note: unrecognized command-line option '-Wno-deprecated-register' may have been intended to silence earlier diagnostics
make[4]: *** [Makefile:466: givinteger.lo] Error 1
I just upgraded to Fedora 40, which comes with GCC 14 and started running into the following compile error: