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:
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--021abf342d371248e50ceaed478a90ca-->
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:
clang-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
test/fuzz/fuzz.cpp:94:34: error: do not use 'std::endl' with streams; use '\n' instead [performance-avoid-endl,-warnings-as-errors]
94 | std::cout << name << std::endl;
| ^~~~~~~~~
| '\n'
So I'll postpone that for now.
Concept ACK. Could probably just disable performance-avoid-endl.
Concept ACK.
Looks like USDT is broken as well on Mantic, regardless of the clang version: #28467 (comment)
Going to drop that as well, for now.
Concept ACK
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" \
unrelated: 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:
-- Performing Test CXX_SUPPORTS_GLINE_TABLES_ONLY_FLAG - Success
CMake Error at /msan/llvm-project/libcxx/CMakeLists.txt:763 (message):
LIBCXX_ENABLE_ASSERTIONS has been replaced by
LIBCXX_HARDENING_MODE=hardened
-- Configuring incomplete, errors occurred!
So I'll drop that as well for now.
This is ready for review. Follow-ups that need more work:
lgtm fa23c9aa7c7d60ff4f914447e7d37dedca85e171 - I can followup with MSAN & tidy
iwyu doesn't have a branch, so I think tidy will need to wait either way. Though, msan can be done, and shouldn't conflict with this pull in any way.
utACK fa23c9aa7c7d60ff4f914447e7d37dedca85e171
Milestone
26.0