From: David Gibson <david@gibson.dropbear.id.au>
To: passt-dev@passt.top, Stefano Brivio <sbrivio@redhat.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH v3 07/12] cppcheck, clang-tidy: Static checkers don't need non-preprocessor flags
Date: Tue, 12 May 2026 15:52:51 +1000 [thread overview]
Message-ID: <20260512055256.1800449-8-david@gibson.dropbear.id.au> (raw)
In-Reply-To: <20260512055256.1800449-1-david@gibson.dropbear.id.au>
Currently we pass all our compiler flags to clang-tidy, except -pie, which
it won't accept. In fact in order to run the checker, we only need the
preprocessor flags. Simplify the command line by passing only those.
For cppcheck we already filter out just -D options from the compiler flags.
Simplify this by only passing preprocessor flags, now that we've split
those out into their own variables. Furthermore, one of cppcheck's
features which we're currently not exploiting is to check multiple / all
preprocessor option combinations in a single pass. Therefore, pass only
$(BASE_CPPFLAGS), which contains the mandatory options with which we can't
compile at all.
While we're there remove a redundant $^ that slipped in at some point.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
Makefile | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/Makefile b/Makefile
index 697f229f..c6dbbc67 100644
--- a/Makefile
+++ b/Makefile
@@ -194,9 +194,7 @@ CLANG_TIDY = clang-tidy
CLANG_TIDY_FLAGS = -DCLANG_TIDY_58992
clang-tidy: $(PASST_SRCS)
- $(CLANG_TIDY) $^ -- \
- $(filter-out -pie,$(BASE_CPPFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) $(CFLAGS)) \
- $(CLANG_TIDY_FLAGS)
+ $(CLANG_TIDY) $^ -- $(BASE_CPPFLAGS) $(CPPFLAGS) $(CLANG_TIDY_FLAGS)
CPPCHECK = cppcheck
CPPCHECK_FLAGS = --std=c11 --error-exitcode=1 --enable=all --force \
@@ -212,6 +210,4 @@ CPPCHECK_FLAGS = --std=c11 --error-exitcode=1 --enable=all --force \
-D CPPCHECK_6936
cppcheck: $(PASST_SRCS) $(PASST_HEADERS) seccomp.h
- $(CPPCHECK) $(CPPCHECK_FLAGS) \
- $(filter -D%,$(BASE_CPPFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) $(CFLAGS)) $^ \
- $^
+ $(CPPCHECK) $(CPPCHECK_FLAGS) $(BASE_CPPFLAGS) $^
--
2.54.0
next prev parent reply other threads:[~2026-05-12 5:53 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-12 5:52 [PATCH v3 00/12] Improvements to static checker invocation David Gibson
2026-05-12 5:52 ` [PATCH v3 01/12] Makefile: Use make variables for static checker configuration David Gibson
2026-05-12 5:52 ` [PATCH v3 02/12] Makefile: Make conditional definition of $(BIN) clearer David Gibson
2026-05-12 5:52 ` [PATCH v3 03/12] Makefile: Use common binary compilation rule David Gibson
2026-05-12 5:52 ` [PATCH v3 04/12] Makefile: Remove unhelpful $(HEADERS) variable David Gibson
2026-05-12 5:52 ` [PATCH v3 05/12] Makefile: Add header dependencies for secondary binaries David Gibson
2026-05-12 5:52 ` [PATCH v3 06/12] Makefile: Split $(FLAGS) into cpp and cc components David Gibson
2026-05-12 5:52 ` David Gibson [this message]
2026-05-12 5:52 ` [PATCH v3 08/12] Makefile: Split static checker targets David Gibson
2026-05-12 5:52 ` [PATCH v3 09/12] passt-repair: Split out inotify handling to its own function David Gibson
2026-05-12 5:52 ` [PATCH v3 10/12] passt-repair: Simplify construction of Unix path from inotify David Gibson
2026-05-12 5:52 ` [PATCH v3 11/12] passt-repair: Run static checkers David Gibson
2026-05-12 5:52 ` [PATCH v3 12/12] pesto: Run static checkers on pesto sources David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260512055256.1800449-8-david@gibson.dropbear.id.au \
--to=david@gibson.dropbear.id.au \
--cc=passt-dev@passt.top \
--cc=sbrivio@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).