带有描述的完整 Clang 警告列表
Full Clang warning list with descriptions
我需要获取完整的 Clang 警告列表。带说明。对于 iOS。
我在这里只看到了警告列表
Clang Warnings
但是没有说明。
有什么地方可以让我获得带有描述的 Clang 警告的完整列表?
有一个简洁的项目可以在警告消息旁边显示标志:
https://github.com/NSHipster/fuckingclangwarnings.com
虽然这些解释并非适用于所有情况,但非常有帮助,尤其是当您想要关闭特定警告时。
该项目有一段时间没有更新了,可能缺少一些新的警告。您还可以深入研究 Clang 的源代码。我已经有一段时间没有使用它了,但我可以告诉你从哪里开始:
1) 克隆 Clang repository
2) 浏览至 /include/clang/Basic/Diagnostic.td
。该文件包括其他几个 .td
文件,其中包含各种警告,但我不确定是否所有这些文件都是公开的,而且我认为它们的外部名称有前缀,具体取决于它们的类别。我建议搜索一个已知的警告(或其描述)来解决这个难题。
3) 另一个有趣的文件是 /include/clang/Driver/Options.td
,如果我没记错的话,它包括你使用 help
命令获得的文本。
我知道这是一个老问题,但是可以在 Clang Documentation.
中找到完整的警告列表以及为每个警告打印的文本
[当前]接受的答案是正确的。 clang/clang++ 网站上的文档不一定反映代码中支持的选项。正如老话所说,"the source code is the documentation" :/..
有助于查找选项的一件事是搜索 DiagGroup
的源代码。例如,以下演示了使用精简的 clang 7.0.1 源代码检出尝试 grepping sign-compare
,又名 -Wsign-compare
:
$ grep --include \*.td -r sign-compare . | grep DiagGroup
tools/clang/include/clang/Basic/DiagnosticGroups.td:def SignCompare : DiagGroup<"sign-compare">;
我需要获取完整的 Clang 警告列表。带说明。对于 iOS。 我在这里只看到了警告列表 Clang Warnings
但是没有说明。 有什么地方可以让我获得带有描述的 Clang 警告的完整列表?
有一个简洁的项目可以在警告消息旁边显示标志:
https://github.com/NSHipster/fuckingclangwarnings.com
虽然这些解释并非适用于所有情况,但非常有帮助,尤其是当您想要关闭特定警告时。
该项目有一段时间没有更新了,可能缺少一些新的警告。您还可以深入研究 Clang 的源代码。我已经有一段时间没有使用它了,但我可以告诉你从哪里开始:
1) 克隆 Clang repository
2) 浏览至 /include/clang/Basic/Diagnostic.td
。该文件包括其他几个 .td
文件,其中包含各种警告,但我不确定是否所有这些文件都是公开的,而且我认为它们的外部名称有前缀,具体取决于它们的类别。我建议搜索一个已知的警告(或其描述)来解决这个难题。
3) 另一个有趣的文件是 /include/clang/Driver/Options.td
,如果我没记错的话,它包括你使用 help
命令获得的文本。
我知道这是一个老问题,但是可以在 Clang Documentation.
中找到完整的警告列表以及为每个警告打印的文本[当前]接受的答案是正确的。 clang/clang++ 网站上的文档不一定反映代码中支持的选项。正如老话所说,"the source code is the documentation" :/..
有助于查找选项的一件事是搜索 DiagGroup
的源代码。例如,以下演示了使用精简的 clang 7.0.1 源代码检出尝试 grepping sign-compare
,又名 -Wsign-compare
:
$ grep --include \*.td -r sign-compare . | grep DiagGroup
tools/clang/include/clang/Basic/DiagnosticGroups.td:def SignCompare : DiagGroup<"sign-compare">;