Open
Description
1.87 build fails with LLVM 19. Does 1.87 require LLVM 20+ or it's a bug?
/buildstream-build/src/llvm-project/lld/COFF/Chunks.h:879:12: error: 'llvm::COFF::Arm64XFixupType' has not been declared
879 | void add(llvm::COFF::Arm64XFixupType type, uint8_t size,
| ^~~~
/buildstream-build/src/llvm-project/lld/COFF/InputFiles.cpp: In member function 'std::optional<lld::coff::Symbol*> lld::coff::ObjFile::createDefined(llvm::object::COFFSymbolRef, std::vector<const llvm::object::coff_aux_section_definition*>&, bool&)':
/buildstream-build/src/llvm-project/lld/COFF/InputFiles.cpp:770:11: error: 'class llvm::object::COFFSymbolRef' has no member named 'isEmptySectionDeclaration'
770 | if (sym.isEmptySectionDeclaration()) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14.2.0/i686-unknown-linux-gnu/bits/c++allocator.h:33,
from /usr/include/c++/14.2.0/bits/allocator.h:46,
from /usr/include/c++/14.2.0/string:43,
from /usr/include/llvm/ADT/Hashing.h:56,
from /buildstream-build/src/llvm-project/lld/include/lld/Common/LLVM.h:19,
from /buildstream-build/src/llvm-project/lld/include/lld/Common/ErrorHandler.h:71,
from /buildstream-build/src/llvm-project/lld/COFF/Config.h:12,
from /buildstream-build/src/llvm-project/lld/COFF/InputFiles.h:12,
from /buildstream-build/src/llvm-project/lld/COFF/InputFiles.cpp:9:
/usr/include/c++/14.2.0/bits/new_allocator.h: In instantiation of 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = lld::coff::Arm64XDynamicRelocEntry; _Args = {int&, unsigned char&, lld::coff::Arm64XRelocVal&, lld::coff::Arm64XRelocVal&}; _Tp = lld::coff::Arm64XDynamicRelocEntry]':
/usr/include/c++/14.2.0/bits/alloc_traits.h:534:17: required from 'static void std::allocator_traits<std::allocator<_CharT> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = lld::coff::Arm64XDynamicRelocEntry; _Args = {int&, unsigned char&, lld::coff::Arm64XRelocVal&, lld::coff::Arm64XRelocVal&}; _Tp = lld::coff::Arm64XDynamicRelocEntry; allocator_type = std::allocator<lld::coff::Arm64XDynamicRelocEntry>]'
534 | __a.construct(__p, std::forward<_Args>(__args)...);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14.2.0/bits/vector.tcc:117:30: required from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int&, unsigned char&, lld::coff::Arm64XRelocVal&, lld::coff::Arm64XRelocVal&}; _Tp = lld::coff::Arm64XDynamicRelocEntry; _Alloc = std::allocator<lld::coff::Arm64XDynamicRelocEntry>; reference = lld::coff::Arm64XDynamicRelocEntry&]'
117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
118 | std::forward<_Args>(__args)...);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/buildstream-build/src/llvm-project/lld/COFF/Chunks.h:881:30: required from here
881 | arm64xRelocs.emplace_back(type, size, offset, value);
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14.2.0/bits/new_allocator.h:191:11: error: no matching function for call to 'lld::coff::Arm64XDynamicRelocEntry::Arm64XDynamicRelocEntry(int&, unsigned char&, lld::coff::Arm64XRelocVal&, lld::coff::Arm64XRelocVal&)'
191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note: candidate: 'lld::coff::Arm64XDynamicRelocEntry::Arm64XDynamicRelocEntry()'
854 | class Arm64XDynamicRelocEntry {
| ^~~~~~~~~~~~~~~~~~~~~~~
/buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note: candidate expects 0 arguments, 4 provided
/buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note: candidate: 'constexpr lld::coff::Arm64XDynamicRelocEntry::Arm64XDynamicRelocEntry(const lld::coff::Arm64XDynamicRelocEntry&)'
/buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note: candidate expects 1 argument, 4 provided
/buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note: candidate: 'constexpr lld::coff::Arm64XDynamicRelocEntry::Arm64XDynamicRelocEntry(lld::coff::Arm64XDynamicRelocEntry&&)'
/buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note: candidate expects 1 argument, 4 provided