From 0ebd503c15915fb7d72d28888b0d7ed050a198bd Mon Sep 17 00:00:00 2001 From: cashmere Date: Tue, 30 Jun 2026 12:46:56 +0200 Subject: dev: add clang and gcc checks --- .clang-tidy | 33 +++++++++++++++++++++++++++++++++ justfile | 5 ++++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 .clang-tidy diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..34c8aad --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,33 @@ +Checks: 'clang-analyzer*, + clang-diagnostics*, + bugprone-*, + readability-suspicious*, + readability-inconsistent*, + -bugprone-suspicious-include, + -bugprone-suspicious-string-compare, + -bugprone-narrowing-conversions, + -bugprone-random-generator-seed, + -bugprone-reserved-identifier, + -bugprone-assignment-in-if-condition, + -bugprone-easily-swappable-parameters, + -bugprone-switch-missing-default-case, + -bugprone-implicit-widening-of-multiplication-result, + -bugprone-multi-level-implicit-pointer-conversion, + -bugprone-signed-char-misuse, + -bugprone-macro-parentheses, + -bugprone-casting-through-void, + -bugprone-branch-clone, + -bugprone-throw-keyword-missing, + -bugprone-empty-catch, + -bugprone-exception-escape, + -bugprone-unchecked-string-to-number-conversion, + -bugprone-inc-dec-in-conditions, + -bugprone-throwing-static-initialization, + -clang-analyzer-core.NullPointerArithm, + -clang-analyzer-security.insecureAPI.strcpy, + -clang-analyzer-optin.performance.Padding, + -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling, + -clang-diagnostic-deprecated-this-capture, + -clang-diagnostic-unused-command-line-argument, + -readability-suspicious-call-argument, + -readability-inconsistent-ifelse-braces' \ No newline at end of file diff --git a/justfile b/justfile index 8b260d0..d5486eb 100644 --- a/justfile +++ b/justfile @@ -1,5 +1,5 @@ cc := "gcc" -cflags := "-Wall -Wextra -O2" +cflags := "-Wall -Wextra -O2 -fanalyzer" src := "src/main.c" bin := "src/main" @@ -11,5 +11,8 @@ build: run: build ./{{bin}} +check: + clang-tidy {{src}} -- + clean: rm -f {{bin}} src/*.o -- cgit v1.3.1