【问题标题】:How can I enable clang-tidy's "modernize" checks?如何启用 clang-tidy 的“现代化”检查?
【发布时间】:2016-02-18 00:41:55
【问题描述】:

我刚刚安装了ClangOnWin,我正在尝试让clang-tidy 的“现代化”检查工作。不幸的是,clang-tidy 似乎并不了解它们:clang-tidy -list-checks foo.cpp -- | grep modernize 不产生任何输出。

“现代化”检查在here 中列出,但该页面似乎记录了 Clang 3.8,而我安装的版本是 3.7。但是,3.7 版是LLVM Download Page 中列出的当前版本。

clang-tidy 知道各种安全检查,所以我想我已经正确安装了它。例如,clang-tidy -list-checks foo.cpp -- | grep security 会产生这样的结果:

clang-analyzer-security.FloatLoopCounter
clang-analyzer-security.insecureAPI.UncheckedReturn
clang-analyzer-security.insecureAPI.getpw
clang-analyzer-security.insecureAPI.gets
clang-analyzer-security.insecureAPI.mkstemp
clang-analyzer-security.insecureAPI.mktemp
clang-analyzer-security.insecureAPI.rand
clang-analyzer-security.insecureAPI.strcpy
clang-analyzer-security.insecureAPI.vfork

我需要做一些特别的事情来启用检查,例如 modernize-use-overridemodernize-use-nullptr

【问题讨论】:

    标签: clang clang++ clang-static-analyzer clang-tidy


    【解决方案1】:

    您是否尝试过使用 LLVM 的官方二进制文件:http://llvm.org/releases/download.html?也许 ClangOnWin 二进制文件没有使用所有选项或类似的东西编译。

    【讨论】:

      【解决方案2】:

      现代化检查是在 3.7 之后添加的(从 clang-modernize 移植),但请尝试添加 -checks="*" 以查看可用检查的完整列表。

      clang-tidy -list-checks -checks="*" foo.cpp --
      

      【讨论】:

        猜你喜欢
        • 2017-05-17
        • 2018-07-02
        • 2016-10-23
        • 2021-01-05
        • 2017-01-05
        • 1970-01-01
        • 2020-06-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多