On 17.2.2025 22.15, Hossein Nourikhah wrote:
Hello,
The baseline for LibreOffice C++ source code is now C++20. But, the
clang 12 installed on CI machines is quite old, and lacks some important
C++20 features. ("/home/tdf/lode/opt_private/clang-llvmorg-12.0.1/bin/
clang" is visible in the build logs)
C++ ranges library is one example:
https://en.cppreference.com/w/cpp/ranges/reverse_view
This is a related CI failure because of lacking C++ ranges library support:
https://ci.libreoffice.org/job/gerrit_master_ml/35822/
More details about C++20 support from different compilers can be seen here:
C++20 library features
https://en.cppreference.com/w/cpp/
compiler_support#C.2B.2B20_library_features
Looking into the details of clang releases, I think clang versions until
and including 17 are no longer supported.
https://llvm.org/docs/HowToReleaseLLVM.html
The current stable release is 19, an the preview release is 20.
https://releases.llvm.org/
I am not sure about 18, but it is the version available in many Linux
distributions, and it seems to build LibreOffice from sources smoothly.
Ubuntu LTS: 20.04, 24.04, 22.04 (via llvm apt repository), RHEL 8 and 9
(via Clang and LLVM Toolset) and many other distributions:
https://packages.ubuntu.com/search?
searchon=contents&keywords=clang&mode=exactfilename&suite=focal-
updates&arch=any
https://packages.ubuntu.com/search?
searchon=contents&keywords=clang&mode=exactfilename&suite=noble-
updates&arch=any
Is it possible upgrade clang on CI machines to version 18 (or possibly,
19)?
This is not a question about CI, but the whole Linux baseline and should
be discussed in an ESC meeting.
Ilmari