33# ALL checks enabled. WarningsAsErrors: '*'.
44# Check thresholds configured for idiomatic C11 (not C++).
55#
6- # Globally disabled checks must have an upstream bug reference or
7- # architectural justification. Re-evaluate on LLVM upgrades.
8- #
9- # Documented LLVM false positives:
10- # bugprone-multi-level-implicit-pointer-conversion — LLVM #93959, relaxed in LLVM 19
11- # clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling — LLVM #64027
12- # clang-analyzer-optin.portability.UnixAPI — malloc(0) behavior, guarded in code
13- #
14- # Architectural:
15- # bugprone-command-processor — popen required for git, inputs validated
16- # cert-env33-c — popen/system needed for git commands, inputs validated
17- #
18- # Pending fix (phases 4-6):
19- # bugprone-easily-swappable-parameters — Phase 5: struct params
20- # concurrency-mt-unsafe — Phase 4: thread-safe wrappers
21- # cert-err33-c — Phase 4: check fwrite/fseek return values
22- # performance-no-int-to-ptr — Phase 4: union type-punning
23- # bugprone-branch-clone — Phase 6
24- # readability-avoid-nested-conditional-operator — Phase 6
25- # readability-redundant-casting — Phase 6
26- # bugprone-implicit-widening-of-multiplication-result — Phase 6
27- # bugprone-unchecked-string-to-number-conversion — Phase 6
28- # clang-analyzer-core.CallAndMessage — Phase 6
29- # clang-analyzer-core.NullPointerArithm — Phase 6
30- # clang-analyzer-security.insecureAPI.strcpy — Phase 6
6+ # Only C++ idiom checks and confirmed LLVM false positives are disabled.
7+ # Everything else must be fixed in code.
318
329Checks : >
3310 -*,
@@ -41,41 +18,20 @@ Checks: >
4118 portability-*,
4219 readability-*,
4320 clang-analyzer-*,
44- -misc-no-recursion,
45- -readability-implicit-bool-conversion,
4621 -bugprone-multi-level-implicit-pointer-conversion,
22+ -readability-implicit-bool-conversion,
4723 -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
48- -clang-analyzer-optin.portability.UnixAPI,
4924 -clang-analyzer-security.ArrayBound,
50- -clang-analyzer-unix.Malloc,
51- -misc-include-cleaner,
52- -bugprone-command-processor,
53- -bugprone-suspicious-include,
54- -cert-env33-c,
55- -bugprone-easily-swappable-parameters,
56- -concurrency-mt-unsafe,
57- -cert-err33-c,
58- -performance-no-int-to-ptr,
59- -bugprone-branch-clone,
60- -readability-avoid-nested-conditional-operator,
61- -readability-redundant-casting,
62- -bugprone-implicit-widening-of-multiplication-result,
63- -bugprone-unchecked-string-to-number-conversion,
64- -clang-analyzer-core.CallAndMessage,
65- -clang-analyzer-core.NullPointerArithm,
66- -clang-analyzer-security.insecureAPI.strcpy,
6725
6826WarningsAsErrors : ' *'
6927
7028CheckOptions :
71- bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources : false
7229 readability-identifier-length.MinimumVariableNameLength : 1
7330 readability-identifier-length.MinimumParameterNameLength : 1
7431 readability-identifier-length.MinimumLoopCounterNameLength : 1
75- readability-implicit-bool-conversion.AllowIntegerConditions : true
76- readability-implicit-bool-conversion.AllowPointerConditions : true
77- readability-magic-numbers.IgnoredIntegerValues : " 1;2;3;4;5;6;7;8;9;10;11;12;14;15;16;20;24;32;48;64;100;128;200;256;493;512;755;1000;1024;1040;2048;4096;8192;16384;32768;65536;500000;1000000;1000000000"
78- readability-magic-numbers.IgnoredFloatingPointValues : " 0.0;0.25;0.5;0.7;0.75;0.8;0.85;0.9;0.95;1.0;2.0;100.0;1e308"
32+ readability-magic-numbers.IgnoredIntegerValues : " "
33+ readability-magic-numbers.IgnoredFloatingPointValues : " "
34+ bugprone-easily-swappable-parameters.MinimumLength : 3
7935 readability-function-cognitive-complexity.Threshold : 25
8036 readability-function-size.StatementThreshold : 200
8137 readability-function-size.LineThreshold : 400
0 commit comments