I'm compiling giac-1.9.0 build-19 on Fedora 38 (devel branch) s390x with GCC-12; it's failing with this output:
Code : Tout sélectionner
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DIN_GIAC -I. -I.. -I. -I.. -std=gnu++14 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -DDOUBLEVAL -fno-strict-aliasing -DGIAC_GENERIC_CONSTANTS -DTIMEOUT -DHAVE_LIBMICROPYTHON -fpermissive -DQUICKJS -c -o lpsolve.lo lpsolve.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -DIN_GIAC -I. -I.. -I. -I.. -std=gnu++14 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -DDOUBLEVAL -fno-strict-aliasing -DGIAC_GENERIC_CONSTANTS -DTIMEOUT -DHAVE_LIBMICROPYTHON -fpermissive -DQUICKJS -c lpsolve.cc -fPIC -DPIC -o .libs/lpsolve.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -DIN_GIAC -I. -I.. -I. -I.. -std=gnu++14 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -DDOUBLEVAL -fno-strict-aliasing -DGIAC_GENERIC_CONSTANTS -DTIMEOUT -DHAVE_LIBMICROPYTHON -fpermissive -DQUICKJS -c lpsolve.cc -o lpsolve.o >/dev/null 2>&1
In file included from giacPCH.h:8,
from lpsolve.cc:20:
index.h:33: warning: ignoring '#pragma anon_unions ' [-Wunknown-pragmas]
33 | #pragma anon_unions
|
In file included from poly.h:26,
from gen.h:71,
from giacPCH.h:32:
monomial.h:341:10: warning: 'template<class _Arg1, class _Arg2, class _Result> class std::pointer_to_binary_function' is deprecated [-Wdeprecated-declarations]
341 | std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> strictly_greater ;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/bits/refwrap.h:39,
from /usr/include/c++/12/vector:66,
from vector.h:474,
from index.h:21:
/usr/include/c++/12/bits/stl_function.h:1131:11: note: declared here
1131 | class pointer_to_binary_function
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
monomial.h:342:28: warning: 'template<class _Arg1, class _Arg2, class _Result> class std::pointer_to_binary_function' is deprecated [-Wdeprecated-declarations]
342 | sort_helper(const std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> is_strictly_greater):strictly_greater(is_strictly_greater) {};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_function.h:1131:11: note: declared here
1131 | class pointer_to_binary_function
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
monomial.h:680:25: warning: 'template<class _Arg1, class _Arg2, class _Result> class std::pointer_to_binary_function' is deprecated [-Wdeprecated-declarations]
680 | const std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> m_is_strictly_greater
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_function.h:1131:11: note: declared here
1131 | class pointer_to_binary_function
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
monomial.h: In function 'void giac::Mul(typename std::vector<monomial<T> >::const_iterator&, typename std::vector<monomial<T> >::const_iterator&, typename std::vector<monomial<T> >::const_iterator&, typename std::vector<monomial<T> >::const_iterator&, std::vector<monomial<T> >&, bool (*)(const index_m&, const index_m&), std::pointer_to_binary_function<const monomial<T>&, const monomial<T>&, bool>)':
monomial.h:729:44: warning: 'template<class _Arg1, class _Arg2, class _Result> class std::pointer_to_binary_function' is deprecated [-Wdeprecated-declarations]
729 | typedef std::map< index_t,T,const std::pointer_to_binary_function < const index_m &, const index_m &, bool> > application;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_function.h:1131:11: note: declared here
1131 | class pointer_to_binary_function
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
monomial.h:730:37: warning: 'std::pointer_to_binary_function<_Arg1, _Arg2, _Result> std::ptr_fun(_Result (*)(_Arg1, _Arg2)) [with _Arg1 = const giac::index_m&; _Arg2 = const giac::index_m&; _Result = bool]' is deprecated: use 'std::function' instead [-Wdeprecated-declarations]
730 | application produit(std::ptr_fun(is_strictly_greater));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_function.h:1153:5: note: declared here
1153 | ptr_fun(_Result (*__x)(_Arg1, _Arg2))
| ^~~~~~~
poly.h: At global scope:
poly.h:43:10: warning: 'template<class _Arg1, class _Arg2, class _Result> class std::pointer_to_binary_function' is deprecated [-Wdeprecated-declarations]
43 | std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> m_is_strictly_greater ;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_function.h:1131:11: note: declared here
1131 | class pointer_to_binary_function
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
gen.h: In constructor 'giac::eqwdata::eqwdata(int, int, int, int, const giac::attributs&, const giac::gen&)':
gen.h:1408:15: warning: 'giac::eqwdata::eqw_attributs' will be initialized after [-Wreorder]
1408 | attributs eqw_attributs;
| ^~~~~~~~~~~~~
gen.h:1401:9: warning: 'int giac::eqwdata::x' [-Wreorder]
1401 | int x,y,dx,dy;
| ^
gen.h:1409:5: warning: when initialized here [-Wreorder]
1409 | eqwdata(int dxx,int dyy,int xx, int yy,const attributs & a,const gen& gg):g(gg),eqw_attributs(a),x(xx),y(yy),dx(dxx),dy(dyy),selected(false),active(false),hasbaseline(false),modifiable(true),baseline(0) {};
| ^~~~~~~
gen.h:1407:10: warning: 'giac::eqwdata::modifiable' will be initialized after [-Wreorder]
1407 | bool modifiable;
| ^~~~~~~~~~
gen.h:1402:9: warning: 'int giac::eqwdata::baseline' [-Wreorder]
1402 | int baseline;
| ^~~~~~~~
gen.h:1409:5: warning: when initialized here [-Wreorder]
1409 | eqwdata(int dxx,int dyy,int xx, int yy,const attributs & a,const gen& gg):g(gg),eqw_attributs(a),x(xx),y(yy),dx(dxx),dy(dyy),selected(false),active(false),hasbaseline(false),modifiable(true),baseline(0) {};
| ^~~~~~~
gen.h: In constructor 'giac::eqwdata::eqwdata(int, int, int, int, const giac::attributs&, const giac::gen&, int)':
gen.h:1408:15: warning: 'giac::eqwdata::eqw_attributs' will be initialized after [-Wreorder]
1408 | attributs eqw_attributs;
| ^~~~~~~~~~~~~
gen.h:1401:9: warning: 'int giac::eqwdata::x' [-Wreorder]
1401 | int x,y,dx,dy;
| ^
gen.h:1410:5: warning: when initialized here [-Wreorder]
1410 | eqwdata(int dxx,int dyy,int xx, int yy,const attributs & a,const gen& gg,int mybaseline):g(gg),eqw_attributs(a),x(xx),y(yy),dx(dxx),dy(dyy),selected(false),active(false),hasbaseline(true),modifiable(true),baseline(mybaseline) {};
| ^~~~~~~
gen.h:1407:10: warning: 'giac::eqwdata::modifiable' will be initialized after [-Wreorder]
1407 | bool modifiable;
| ^~~~~~~~~~
gen.h:1402:9: warning: 'int giac::eqwdata::baseline' [-Wreorder]
1402 | int baseline;
| ^~~~~~~~
gen.h:1410:5: warning: when initialized here [-Wreorder]
1410 | eqwdata(int dxx,int dyy,int xx, int yy,const attributs & a,const gen& gg,int mybaseline):g(gg),eqw_attributs(a),x(xx),y(yy),dx(dxx),dy(dyy),selected(false),active(false),hasbaseline(true),modifiable(true),baseline(mybaseline) {};
| ^~~~~~~
In file included from sym2poly.h:27,
from giacPCH.h:38:
gausspol.h: At global scope:
gausspol.h:96:29: warning: 'template<class _Arg1, class _Arg2, class _Result> class std::pointer_to_binary_function' is deprecated [-Wdeprecated-declarations]
96 | const std::pointer_to_binary_function < const monomial<gen> &, const monomial<gen> &, bool> m_is_greater
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_function.h:1131:11: note: declared here
1131 | class pointer_to_binary_function
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lpsolve.cc: In member function 'bool giac::lp_node::rounding_heuristic(giac::vecteur&, giac::gen&) const':
lpsolve.cc:850:12: warning: unused variable 'viol' [-Wunused-variable]
850 | double viol;
| ^~~~
lpsolve.cc:851:9: warning: unused variable 'vc' [-Wunused-variable]
851 | int vc,j,last_j=-1,pass=0;
| ^~
lpsolve.cc:851:24: warning: unused variable 'pass' [-Wunused-variable]
851 | int vc,j,last_j=-1,pass=0;
| ^~~~
lpsolve.cc: In member function 'int giac::lp_problem::solve()':
lpsolve.cc:1678:35: warning: unused variable 'fr' [-Wunused-variable]
1678 | double opt_lbound,fr,max_score;
| ^~
lpsolve.cc: In member function 'giac::lp_node::change_basis(giac::dbgprint_vector<giac::gen>&, giac::dbgprint_vector<giac::gen> const&, std::vector<bool, std::allocator<bool> >&, std::vector<int, std::allocator<int> >&, std::vector<int, std::allocator<int> >&)':
lpsolve.cc:369:13: warning: 'lr' may be used uninitiamake[2]: Leaving directory '/builddir/build/BUILD/giac-1.9.0/src'
lized [-Wmaybe-uninitialized]
369 | basis[lr]=ev;
| ^
lpsolve.cc:303:15: note: 'lr' was declared here
303 | int ec,ev,lr,lv,nc=cols.size(),nr=basis.size();
| ^~
lpsolve.cc:354:31: warning: 'ec' may be used uninitialized [-Wmaybe-uninitialized]
354 | a=it->_VECTptr->at(ec);
| ~~~~~~~~~~~~~~~~^~~~
lpsolve.cc:303:9: note: 'ec' was declared here
303 | int ec,ev,lr,lv,nc=cols.size(),nr=basis.size();
| ^~
lpsolve.cc: In member function 'giac::lp_problem::glpk_solve()':
lpsolve.cc:2214:16: warning: 'solution_status' may be used uninitialized [-Wmaybe-uninitialized]
2214 | return solution_status;
| ^~~~~~~~~~~~~~~
lpsolve.cc:2118:18: note: 'solution_status' was declared here
2118 | int result=0,solution_status;
| ^~~~~~~~~~~~~~~
lpsolve.cc:2212:22: warning: 'term_old' may be used uninitialized [-Wmaybe-uninitialized]
2212 | else glp_term_out(term_old);
| ~~~~~~~~~~~~^~~~~~~~~~
lpsolve.cc:2113:9: note: 'term_old' was declared here
2113 | int term_old;
| ^~~~~~~~
lpsolve.cc: In member function 'giac::lp_node::solve_relaxation()':
lpsolve.cc:731:37: warning: 'cuts0' may be used uninitialized [-Wmaybe-uninitialized]
731 | if (prob->stats.cuts_applied-cuts0>=prob->settings.max_cuts)
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
lpsolve.cc:647:16: note: 'cuts0' was declared here
647 | int pass=0,cuts0;
| ^~~~~
In member function 'giac::gen::operator=(giac::gen const&)',
inlined from 'giac::gen::operator=(giac::gen const&)' at gen.h:747:11,
inlined from 'giac::lp_problem::glpk_load_from_file(char const*)' at lpsolve.cc:2287:40:
gen.h:767:17: warning: 'D.270177.subtype' may be used uninitialized [-Wmaybe-uninitialized]
767 | subtype=a.subtype;
| ~~^~~~~~~
lpsolve.cc: In member function 'giac::lp_problem::glpk_load_from_file(char const*)':
lpsolve.cc:2287:40: note: '<anonymous>' declared here
2287 | row[ind[j]-1]=val[j];
| ^
In file included from /usr/include/c++/12/cmath:47,
from first.h:538,
from giacPCH.h:4:
In function 'std::abs(double)',
inlined from 'giac::lp_problem::solve()' at lpsolve.cc:1780:100:
/usr/include/c++/12/bits/std_abs.h:72:30: warning: 'opt_approx' may be used uninitialized [-Wmaybe-uninitialized]
72 | { return __builtin_fabs(__x); }
| ^
lpsolve.cc: In member function 'giac::lp_problem::solve()':
lpsolve.cc:1658:20: note: 'opt_approx' was declared here
1658 | double opt_approx;
| ^~~~~~~~~~
lpsolve.cc: In function 'giac::_lpsolve(giac::gen const&, giac::context const*)':
lpsolve.cc:2697:28: warning: 'is_solver_exact' may be used uninitialized [-Wmaybe-uninitialized]
2697 | switch (is_solver_exact?prob.solve():prob.glpk_solve()) {
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lpsolve.cc:2677:10: note: 'is_solver_exact' was declared here
2677 | bool is_solver_exact;
| ^~~~~~~~~~~~~~~
make[1]: *** [Makefile:500: all-recursive] Error 1