[all-commits] [llvm/llvm-project] e19e86: [RFC][libc++] Reworks clang-tidy selection. (#81362)
Mark de Wever via All-commits
all-commits at lists.llvm.org
Sat Mar 9 09:04:14 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e19e8600cf743690e1a23fb8a2b0dfbe2dafe559
https://github.com/llvm/llvm-project/commit/e19e8600cf743690e1a23fb8a2b0dfbe2dafe559
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-09 (Sat, 09 Mar 2024)
Changed paths:
M libcxx/test/tools/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[RFC][libc++] Reworks clang-tidy selection. (#81362)
The current selection is done in the test scripts which gives the user
no control where to find clang-tidy. The version selection itself is
hard-coded and not based on the version of clang used.
This moves the selection to configuration time and tries to find a
better match.
- Mixing the version of clang-tidy and the clang libraries causes ODR
violations. This results in practice in crashes or incorrect results.
- Mixing the version of clang-tidy and the clang binary sometimes causes
issues with supported diagnostic flags. For example, flags tested
against clang 17 may not be available in clang-tidy 16.
Currently clang-tidy 18.1 can be used, it tests against the clang
libraries version 18. This is caused by the new LLVM version numbering
scheme.
The new selection tries to match the clang version or the version of the
HEAD and the last 3 releases. (During the release period libc++ supports
4 versions instead of the typical 3 versions.)
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list