我刚刚安装了ClangOnWin,并且我正在尝试让clang-tidy的“现代化”检查生效。不幸的是,clang-tidy似乎并不知道这些检查:clang-tidy -list-checks foo.cpp -- | grep modernize不会产生任何输出。
“现代化”检查列出了here,但该页面似乎记录了clang3.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-override和modernize-use-nullptr等检查
发布于 2016-01-09 04:53:37
现代检查是在3.7之后添加的(从clang-现代移植而来),但尝试添加-checks="*"以查看可用检查的完整列表。
clang-tidy -list-checks -checks="*" foo.cpp --发布于 2015-12-16 15:05:58
你有没有尝试过来自LLVM:http://llvm.org/releases/download.html的官方二进制文件?也许ClangOnWin二进制文件没有使用所有选项进行编译,或者诸如此类的东西。
https://stackoverflow.com/questions/33743472
复制相似问题