Full Clang警告列表及说明

时间:2015-08-31 08:59:48

标签: clang warnings

我需要获得完整的Clang警告列表。随着描述。对于iOS。 我在这里看到了一系列警告 Clang Warnings

但没有描述。 是否有任何地方可以获得具有描述的Clang警告的完整列表?

3 个答案:

答案 0 :(得分:10)

有一个整洁的项目,显示标志和警告信息:

https://github.com/NSHipster/fuckingclangwarnings.com
http://fuckingclangwarnings.com/

虽然这些并非在所有情况下都是全面的解释,但它非常有用,尤其是当您想要关闭特定警告时。

该项目暂时没有更新,可能会遗漏一些新的警告。您还可以深入了解Clang的源代码。我暂时没有使用它,但我可以告诉你从哪里开始:

1)克隆Clang repository

2)浏览到/include/clang/Basic/Diagnostic.td。此文件包含其他几个.td文件,其中包含各种警告,但我不确定它们是否都是公开可用的,我认为它们的外部名称是前缀的,具体取决于它们的类别。我建议搜索一个已知的警告(或其描述)来解决这个难题。

3)另一个有趣的文件是/include/clang/Driver/Options.td,其中包括使用help命令获得的文本,如果我没记错的话。

答案 1 :(得分:7)

我意识到这是一个老问题,但可以在Clang Documentation中找到完整的警告列表以及为每个警告打印的文本。

答案 2 :(得分:0)

[当前]接受的答案是正确的。网站上提供的clang / clang ++文档不一定反映代码中受支持的选项。俗话说“源代码就是文档”:/ ..

可以帮助您找到选项的一件事是为DiagGroup复制源代码。例如,下面的示例演示了使用缩减后的clang 7.0.1源检出对sign-compare(又名-Wsign-compare)进行grepping的尝试:

$ grep --include \*.td -r sign-compare . | grep DiagGroup
tools/clang/include/clang/Basic/DiagnosticGroups.td:def SignCompare : DiagGroup<"sign-compare">;
相关问题