]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
cppcheck.suppress, lint-c.mk: lint-c-cppcheck: Add cppcheck(1) to the C linters
authorAlejandro Colomar <alx@kernel.org>
Thu, 26 Jan 2023 00:06:34 +0000 (01:06 +0100)
committerAlejandro Colomar <alx@kernel.org>
Thu, 26 Jan 2023 00:06:41 +0000 (01:06 +0100)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
etc/cppcheck/cppcheck.suppress [new file with mode: 0644]
lib/lint-c.mk

diff --git a/etc/cppcheck/cppcheck.suppress b/etc/cppcheck/cppcheck.suppress
new file mode 100644 (file)
index 0000000..cd9806b
--- /dev/null
@@ -0,0 +1,8 @@
+ConfigurationNotChecked
+missingIncludeSystem
+redundantContinue
+unassignedVariable
+uninitvar
+unknownMacro
+unmatchedSuppression
+variableScope
index c6bc115052fa7f16b6a736b8e97dba36de9a34b2..8d0b98822ec9a7142049839edb14752bfc97e8e7 100644 (file)
@@ -26,6 +26,16 @@ EXTRA_CLANG-TIDYFLAGS   :=
 CLANG-TIDYFLAGS         := $(DEFAULT_CLANG-TIDYFLAGS) $(EXTRA_CLANG-TIDYFLAGS)
 CLANG-TIDY              := clang-tidy
 
+CPPCHECK_SUPPRESS     := $(SYSCONFDIR)/cppcheck/cppcheck.suppress
+DEFAULT_CPPCHECKFLAGS := --enable=all
+DEFAULT_CPPCHECKFLAGS += --error-exitcode=2
+DEFAULT_CPPCHECKFLAgS += --inconclusive
+DEFAULT_CPPCHECKFLAGS += --quiet
+DEFAULT_CPPCHECKFLAGS += --suppressions-list=$(CPPCHECK_SUPPRESS)
+EXTRA_CPPCHECKFLAGS   :=
+CPPCHECKFLAGS         := $(DEFAULT_CPPCHECKFLAGS) $(EXTRA_CPPCHECKFLAGS)
+CPPCHECK              := cppcheck
+
 DEFAULT_CPPLINTFLAGS :=
 EXTRA_CPPLINTFLAGS   :=
 CPPLINTFLAGS         := $(DEFAULT_CPPLINTFLAGS) $(EXTRA_CPPLINTFLAGS)
@@ -40,11 +50,12 @@ IWYU              := iwyu
 
 _LINT_c_checkpatch := $(patsubst %.c,%.lint-c.checkpatch.touch,$(_UNITS_src_c))
 _LINT_c_clang-tidy := $(patsubst %.c,%.lint-c.clang-tidy.touch,$(_UNITS_src_c))
+_LINT_c_cppcheck   := $(patsubst %.c,%.lint-c.cppcheck.touch,$(_UNITS_src_c))
 _LINT_c_cpplint    := $(patsubst %.c,%.lint-c.cpplint.touch,$(_UNITS_src_c))
 _LINT_c_iwyu       := $(patsubst %.c,%.lint-c.iwyu.touch,$(_UNITS_src_c))
 
 
-linters_c := checkpatch clang-tidy cpplint iwyu
+linters_c := checkpatch clang-tidy cppcheck cpplint iwyu
 lint_c    := $(foreach x,$(linters_c),lint-c-$(x))
 
 
@@ -59,6 +70,11 @@ $(_LINT_c_clang-tidy): %.lint-c.clang-tidy.touch: %.c
        | $(SED) '/generated\.$$/d'
        touch $@
 
+$(_LINT_c_cppcheck): %.lint-c.cppcheck.touch: %.c
+       $(info LINT (cppcheck)  $@)
+       $(CPPCHECK) $(CPPCHECKFLAGS) $<
+       touch $@
+
 $(_LINT_c_cpplint): %.lint-c.cpplint.touch: %.c
        $(info LINT (cpplint)   $@)
        $(CPPLINT) $(CPPLINTFLAGS) $< >/dev/null