[all-commits] [llvm/llvm-project] 2dcc61: [RFC][libc++] Reworks clang-tidy selection.

Mark de Wever via All-commits all-commits at lists.llvm.org
Sat Mar 9 03:32:56 PST 2024


  Branch: refs/heads/users/mordante/clang-tidy_selection
  Home:   https://github.com/llvm/llvm-project
  Commit: 2dcc61840ede365775f8cd974c6ea73e43c0598a
      https://github.com/llvm/llvm-project/commit/2dcc61840ede365775f8cd974c6ea73e43c0598a
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    A cmake/Modules/LLVMVersion.cmake
    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
    M llvm/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [RFC][libc++] Reworks clang-tidy selection.

The current selection is done in the test scipts 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 binaray sometimes causes
  issues with supported diagnotic 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 a 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.)


  Commit: 1093af3da63311277b6ccab73f5e194660721d77
      https://github.com/llvm/llvm-project/commit/1093af3da63311277b6ccab73f5e194660721d77
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    R cmake/Modules/LLVMVersion.cmake
    M llvm/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Undo version number changes.


Compare: https://github.com/llvm/llvm-project/compare/66e033177859...1093af3da633

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