编写特定的 Clang 检查

Writing a specific Clang check

我正在尝试执行我的小自定义检查,例如尝试遍历 this tutorial(有点过时了)。

我有几个问题:

感谢转发的帮助!

好吧,与其使用您承认已经过时的教程,不如使用官方文档中的教程怎么样?

https://clang.llvm.org/extra/clang-tidy/Contributing.html#writing-a-clang-tidy-check

what should I run, to execute my checker on a file or on a project.

运行 具有适当参数的 clang-tidy 可执行文件(有关详细信息,请参阅上述文档)

$ clang-tidy test.cpp -checks=-*,your-custom-check-name

-* 禁用所有默认检查,因此这只会 运行 您的自定义检查。

我已经解决了 构建目标问题,即缺少 check-clang-tools 目标。在 cmake 文件结构中,在 llvm/tools/clang/tools 级别,在 CMakeLists.txt 中缺少一行,我必须添加: add_clang_subdirectory(clang-tools-extra)


执行问题的解决方案

  1. 确保 somedir/llvm/build/bin 已添加到您的 PATH
  2. 然后你需要执行

llvm/tools/clang/tools/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py fileyouwanttocheck.cpp -checks='-*,your-check'

llvm/tools/clang/tools/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py project_folder_you_want_to_check -checks='-*,your-check'