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

Reply via email to