Bump clang in CI from 16 to 17, to:
- Bump the CI “EOL” from Jan 2024 to July 2024, by bumping from Ubuntu lunar to mantic
- Test, ensure compatibility, and make use of any new sanitizer features in clang-17
Bump clang in CI from 16 to 17, to:
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
See the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
Looks like tidy fails with an error:
0clang-tidy-17 -p=/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu -quiet -load=/tidy-build/libbitcoin-tidy.so /ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/fuzz.cpp
1test/fuzz/fuzz.cpp:94:34: error: do not use 'std::endl' with streams; use '\n' instead [performance-avoid-endl,-warnings-as-errors]
2 94 | std::cout << name << std::endl;
3 | ^~~~~~~~~
4 | '\n'
So I’ll postpone that for now.
performance-avoid-endl
.
Looks like USDT is broken as well on Mantic, regardless of the clang version: #28467 (comment)
Going to drop that as well, for now.
41@@ -42,7 +42,7 @@ if [ -n "$PIP_PACKAGES" ]; then
42 fi
43
44 if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
45- git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-16.0.6 /msan/llvm-project
46+ git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-17.0.0-rc4" /msan/llvm-project
47
48 cmake -G Ninja -B /msan/clang_build/ \
49 -DLLVM_ENABLE_PROJECTS="clang" \
MAKEJOBS
does not work in this file, when building the docker image. Not sure what the best fix is for this.
Looks like msan also fails:
0-- Performing Test CXX_SUPPORTS_GLINE_TABLES_ONLY_FLAG - Success
1CMake Error at /msan/llvm-project/libcxx/CMakeLists.txt:763 (message):
2 LIBCXX_ENABLE_ASSERTIONS has been replaced by
3 LIBCXX_HARDENING_MODE=hardened
4
5
6-- Configuring incomplete, errors occurred!
So I’ll drop that as well for now.
This is ready for review. Follow-ups that need more work: