Я использую clang-tidy с файлом конфигурации .clang-tidy
. Файл прочитан правильно, и я могу установить любые параметры проверки, кроме параметров проверки, которые принимают список чисел в качестве значения.
Вот мой файл .clang-tidy
, который пытается установить опции проверки modernize-use-nullptr.NullMacros
и readability-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;'
Когда я запускаю clang-tidy с опцией --dump-config
, я получаю следующий результат:
---
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
Как установить опцию readability-magic-numbers.IgnoredIntegerValues
?
Running clang-tidy --version
дает следующий результат:
LLVM (http://llvm.org/):
LLVM version 9.0.1
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: ivybridge