Skip to content

Commit 7fa3acd

Browse files
committed
WIP: strict linting + RAM-first pipeline (lint fixes pending)
1 parent b523116 commit 7fa3acd

104 files changed

Lines changed: 5850 additions & 9294 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-tidy

Lines changed: 6 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,8 @@
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

329
Checks: >
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
6826
WarningsAsErrors: '*'
6927

7028
CheckOptions:
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

Comments
 (0)