commit a18da24dd04a2298682283d07bfdcdbaded22ce6 (tree)
parent 7e0cd2f3688b839f1c6f9098aa187e6c6dadfb35
Author: Motiejus Jakštys <motiejus@jakstys.lt>
Date: Thu, 12 Feb 2026 13:51:53 +0200
lint per file
gives paralellism
Diffstat:
| M | build.zig | | | 80 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- |
| M | parser.c | | | 1 | + |
2 files changed, 43 insertions(+), 38 deletions(-)
diff --git a/build.zig b/build.zig
@@ -71,44 +71,48 @@ pub fn build(b: *std.Build) !void {
const lint_step = b.step("lint", "Run linters");
- const clang_analyze = b.addSystemCommand(&.{
- "clang",
- "--analyze",
- "--analyzer-output",
- "text",
- "-Wno-unused-command-line-argument",
- "-Werror",
- });
- for (all_c_files) |cfile| clang_analyze.addFileArg(b.path(cfile));
- clang_analyze.expectExitCode(0);
- lint_step.dependOn(&clang_analyze.step);
-
- const gcc_analyze = b.addSystemCommand(&.{
- "gcc",
- "--analyzer",
- "-Werror",
- "-o",
- "/dev/null",
- });
- for (all_c_files) |cfile| gcc_analyze.addFileArg(b.path(cfile));
- gcc_analyze.expectExitCode(0);
- lint_step.dependOn(&gcc_analyze.step);
-
- const cppcheck = b.addSystemCommand(&.{
- "cppcheck",
- "--quiet",
- "--error-exitcode=1",
- "--check-level=exhaustive",
- "--enable=all",
- "--inline-suppr",
- "--suppress=missingIncludeSystem",
- "--suppress=checkersReport",
- "--suppress=unusedFunction", // TODO remove after plumbing is done
- "--suppress=unusedStructMember", // TODO remove after plumbing is done
- });
- for (all_c_files) |cfile| cppcheck.addFileArg(b.path(cfile));
- cppcheck.expectExitCode(0);
- lint_step.dependOn(&cppcheck.step);
+ for (all_c_files) |cfile| {
+ const clang_analyze = b.addSystemCommand(&.{
+ "clang",
+ "--analyze",
+ "--analyzer-output",
+ "text",
+ "-Wno-unused-command-line-argument",
+ "-Werror",
+ });
+ clang_analyze.addFileArg(b.path(cfile));
+ clang_analyze.expectExitCode(0);
+ lint_step.dependOn(&clang_analyze.step);
+
+ const gcc_analyze = b.addSystemCommand(&.{
+ "gcc",
+ "-c",
+ "--analyzer",
+ "-Werror",
+ "-o",
+ "/dev/null",
+ });
+ gcc_analyze.addFileArg(b.path(cfile));
+ gcc_analyze.expectExitCode(0);
+ lint_step.dependOn(&gcc_analyze.step);
+
+ const cppcheck = b.addSystemCommand(&.{
+ "cppcheck",
+ "--quiet",
+ "--error-exitcode=1",
+ "--check-level=exhaustive",
+ "--enable=all",
+ "--inline-suppr",
+ "--suppress=missingIncludeSystem",
+ "--suppress=checkersReport",
+ "--suppress=unusedFunction", // TODO remove after plumbing is done
+ "--suppress=unusedStructMember", // TODO remove after plumbing is done
+ "--suppress=unmatchedSuppression",
+ });
+ cppcheck.addFileArg(b.path(cfile));
+ cppcheck.expectExitCode(0);
+ lint_step.dependOn(&cppcheck.step);
+ }
const all_step = b.step("all", "Run fmt check, lint, and tests with all compilers");
all_step.dependOn(lint_step);
diff --git a/parser.c b/parser.c
@@ -1,3 +1,4 @@
+
#include "common.h"
#include <assert.h>