Bug#1075136: lfortran: ftbfs with GCC-14
Matthias Klose
doko at debian.org
Wed Jul 3 13:32:15 BST 2024
Package: src:lfortran
Version: 0.36.0-1
Severity: important
Tags: sid trixie
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-14
[This bug is targeted to the upcoming trixie 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-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.
The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/lfortran_0.36.0-1_unstable_gccexp.log
The last lines of the build log are at the end of this report.
To build with GCC 14, either set CC=gcc-14 CXX=g++-14 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-14/porting_to.html
[...]
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:15:8: warning: ‘*(__vector(4) unsigned int*)((char*)&<unnamed> + offsetof(LCompilers::diag::Span, LCompilers::diag::Span::first_line))’ may be used uninitialized [-Wmaybe-uninitialized]
15 | struct Span {
| ^~~~
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h: In member function ‘void LCompilers::diag::Diagnostics::message_label(const std::string&, const std::vector<LCompilers::Location>&, const std::string&, const LCompilers::diag::Level&, const LCompilers::diag::Stage&)’:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:37: note: ‘<anonymous>’ declared here
54 | spans.push_back(Span(loc));
| ^
In file included from /<<PKGBUILDDIR>>/src/libasr/exception.h:29,
from /<<PKGBUILDDIR>>/src/libasr/assert.h:7,
from /<<PKGBUILDDIR>>/src/libasr/alloc.h:10,
from /<<PKGBUILDDIR>>/src/lfortran/ast.h:6,
from /<<PKGBUILDDIR>>/src/lfortran/semantics/ast_body_visitor.cpp:10:
In constructor ‘LCompilers::diag::Span::Span(LCompilers::diag::Span&&)’,
inlined from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = LCompilers::diag::Span]’ at /usr/include/c++/14/bits/new_allocator.h:191:4,
inlined from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = LCompilers::diag::Span]’ at /usr/include/c++/14/bits/alloc_traits.h:534:17,
inlined from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {LCompilers::diag::Span}; _Tp = LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ at /usr/include/c++/14/bits/vector.tcc:117:30,
inlined from ‘void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ at /usr/include/c++/14/bits/stl_vector.h:1301:21,
inlined from ‘LCompilers::diag::Label::Label(const std::string&, const std::vector<LCompilers::Location>&, bool)’ at /<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:28:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:15:8: warning: ‘*(__vector(4) unsigned int*)((char*)&<unnamed> + offsetof(LCompilers::diag::Span, LCompilers::diag::Span::first_line))’ may be used uninitialized [-Wmaybe-uninitialized]
15 | struct Span {
| ^~~~
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h: In constructor ‘LCompilers::diag::Label::Label(const std::string&, const std::vector<LCompilers::Location>&, bool)’:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:37: note: ‘<anonymous>’ declared here
54 | spans.push_back(Span(loc));
| ^
In file included from /<<PKGBUILDDIR>>/src/libasr/exception.h:29,
from /<<PKGBUILDDIR>>/src/libasr/assert.h:7,
from /<<PKGBUILDDIR>>/src/libasr/alloc.h:10,
from /<<PKGBUILDDIR>>/src/lfortran/ast.h:6,
from /<<PKGBUILDDIR>>/src/lfortran/semantics/ast_to_asr.cpp:8:
In constructor ‘LCompilers::diag::Span::Span(LCompilers::diag::Span&&)’,
inlined from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = LCompilers::diag::Span]’ at /usr/include/c++/14/bits/new_allocator.h:191:4,
inlined from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = LCompilers::diag::Span]’ at /usr/include/c++/14/bits/alloc_traits.h:534:17,
inlined from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {LCompilers::diag::Span}; _Tp = LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ at /usr/include/c++/14/bits/vector.tcc:117:30,
inlined from ‘void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ at /usr/include/c++/14/bits/stl_vector.h:1301:21,
inlined from ‘LCompilers::diag::Label::Label(const std::string&, const std::vector<LCompilers::Location>&, bool)’ at /<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:28,
inlined from ‘void LCompilers::diag::Diagnostics::message_label(const std::string&, const std::vector<LCompilers::Location>&, const std::string&, const LCompilers::diag::Level&, const LCompilers::diag::Stage&)’ at /<<PKGBUILDDIR>>/src/libasr/diagnostics.h:141:5:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:15:8: warning: ‘*(__vector(4) unsigned int*)((char*)&<unnamed> + offsetof(LCompilers::diag::Span, LCompilers::diag::Span::first_line))’ may be used uninitialized [-Wmaybe-uninitialized]
15 | struct Span {
| ^~~~
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h: In member function ‘void LCompilers::diag::Diagnostics::message_label(const std::string&, const std::vector<LCompilers::Location>&, const std::string&, const LCompilers::diag::Level&, const LCompilers::diag::Stage&)’:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:37: note: ‘<anonymous>’ declared here
54 | spans.push_back(Span(loc));
| ^
In file included from /<<PKGBUILDDIR>>/src/libasr/exception.h:29,
from /<<PKGBUILDDIR>>/src/libasr/assert.h:7,
from /<<PKGBUILDDIR>>/src/libasr/alloc.h:10,
from /<<PKGBUILDDIR>>/src/lfortran/ast.h:6,
from /<<PKGBUILDDIR>>/src/lfortran/semantics/ast_symboltable_visitor.cpp:10:
In constructor ‘LCompilers::diag::Span::Span(LCompilers::diag::Span&&)’,
inlined from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = LCompilers::diag::Span]’ at /usr/include/c++/14/bits/new_allocator.h:191:4,
inlined from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = LCompilers::diag::Span]’ at /usr/include/c++/14/bits/alloc_traits.h:534:17,
inlined from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {LCompilers::diag::Span}; _Tp = LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ at /usr/include/c++/14/bits/vector.tcc:117:30,
inlined from ‘void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ at /usr/include/c++/14/bits/stl_vector.h:1301:21,
inlined from ‘LCompilers::diag::Label::Label(const std::string&, const std::vector<LCompilers::Location>&, bool)’ at /<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:28:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:15:8: warning: ‘*(__vector(4) unsigned int*)((char*)&<unnamed> + offsetof(LCompilers::diag::Span, LCompilers::diag::Span::first_line))’ may be used uninitialized [-Wmaybe-uninitialized]
15 | struct Span {
| ^~~~
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h: In constructor ‘LCompilers::diag::Label::Label(const std::string&, const std::vector<LCompilers::Location>&, bool)’:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:37: note: ‘<anonymous>’ declared here
54 | spans.push_back(Span(loc));
| ^
make[3]: Leaving directory '/<<PKGBUILDDIR>>/debian/build'
make[2]: *** [CMakeFiles/Makefile2:472: src/lfortran/CMakeFiles/lfortran_lib.dir/all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/debian/build'
make[1]: *** [Makefile:169: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>/debian/build'
dh_auto_build: error: cd debian/build && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make: *** [debian/rules:10: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
More information about the debian-science-maintainers
mailing list