gpt4 book ai didi

clang - 在 clang-tidy 中,如何设置接受数字列表的检查选项

转载 作者:行者123 更新时间:2023-12-04 10:18:28 24 4
gpt4 key购买 nike

我正在使用带有 .clang-tidy 配置文件的 clang-tidy。文件被正确读取,我能够设置任何类型的检查选项,除了将数字列表作为值的检查选项。

这是我的 .clang-tidy 文件,它尝试设置检查选项 modernize-use-nullptr.NullMacrosreadability-magic-numbers.IgnoredIntegerValues :

Checks: 'modernize-use-nullptr,readability-magic-numbers'
CheckOptions:
- key: modernize-use-nullptr.NullMacros
value: IT_WORKS_WITH_A_SIMPLE_VALUE
- key: readability-magic-numbers.IgnoredIntegerValues
value: '5;6;7;8;'

当我使用 --dump-config 选项运行 clang-tidy 时,我得到以下结果:
---
Checks: 'clang-diagnostic-*,clang-analyzer-*,modernize-use-nullptr,readability-magic-numbers'
WarningsAsErrors: ''
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
FormatStyle: none
User: user
CheckOptions:
- key: cert-dcl16-c.NewSuffixes
value: 'L;LL;LU;LLU'
- key: cert-oop54-cpp.WarnOnlyIfThisHasSuspiciousField
value: '0'
- key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors
value: '1'
- key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
value: '1'
- key: google-readability-braces-around-statements.ShortStatementLines
value: '1'
- key: google-readability-function-size.StatementThreshold
value: '800'
- key: google-readability-namespace-comments.ShortNamespaceLines
value: '10'
- key: google-readability-namespace-comments.SpacesBeforeComments
value: '2'
- key: modernize-loop-convert.MaxCopySize
value: '16'
- key: modernize-loop-convert.MinConfidence
value: reasonable
- key: modernize-loop-convert.NamingStyle
value: CamelCase
- key: modernize-pass-by-value.IncludeStyle
value: llvm
- key: modernize-replace-auto-ptr.IncludeStyle
value: llvm
- key: modernize-use-nullptr.NullMacros
value: IT_WORKS_WITH_A_SIMPLE_VALUE
- key: readability-magic-numbers.IgnoredFloatingPointValues
value: '1.0;100.0;'
- key: readability-magic-numbers.IgnoredIntegerValues
value: '1;2;3;4;'
...

如您所见, modernize-use-nullptr.NullMacros 检查选项设置正确,但未设置 readability-magic-numbers.IgnoredIntegerValues 检查选项。

我认为这可能是语法问题,但我使用的语法与 --dump-config 给出的语法相同,根据 clang-tidy 文档,这应该是正确的语法。

如何设置 readability-magic-numbers.IgnoredIntegerValues 检查选项?

运行 clang-tidy --version 给出以下结果:
LLVM (http://llvm.org/):
LLVM version 9.0.1
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: ivybridge

最佳答案

这似乎是 --dump-config 中的一个错误为 readability-magic-numbers只检查。据我所知,你的叮当整洁的文件工作得很好。

我在此示例代码上使用您的 .clang-tidy 文件运行了 clang-tidy:

int badGlobalInt = 5;

int main()
{
int badLocalInt = 8;
int unfilteredBadLocalInt = 9;
return 0;
}

命令行:
N:\xxx>clang-tidy.exe xxx.cpp --

结果和预期的一样:
1 warning generated.
N:\xxx\xxx.cpp:6:30: warning: 9 is a magic number; consider replacing it with a named constant [readability-magic-numbers]
int unfilteredBadLocalInt = 9;
^

clang-tidy 9 和 10 的结果完全相同。

关于clang - 在 clang-tidy 中,如何设置接受数字列表的检查选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60973459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com