cppcheck: Don't check the system headers
We pass -I options to cppcheck so that it will find the system headers. Then we need to pass a bunch more options to suppress the zillions of cppcheck errors found in those headers. It turns out, however, that it's not recommended to give the system headers to cppcheck anyway. Instead it has built-in knowledge of the ANSI libc and uses that as the basis of its checks. We do need to suppress missingIncludeSystem warnings instead though. Not bothering with the system headers makes the cppcheck runtime go from ~37s to ~14s on my machine, which is a pretty nice win. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
14dd70e2b3
commit
0588163b1f
1 changed files with 1 additions and 9 deletions
10
Makefile
10
Makefile
|
@ -163,11 +163,6 @@ clang-tidy: $(PASST_SRCS) $(HEADERS)
|
||||||
clang-tidy $(PASST_SRCS) -- $(filter-out -pie,$(FLAGS) $(CFLAGS) $(CPPFLAGS)) \
|
clang-tidy $(PASST_SRCS) -- $(filter-out -pie,$(FLAGS) $(CFLAGS) $(CPPFLAGS)) \
|
||||||
-DCLANG_TIDY_58992
|
-DCLANG_TIDY_58992
|
||||||
|
|
||||||
SYSTEM_INCLUDES := /usr/include $(wildcard /usr/include/$(TARGET))
|
|
||||||
ifeq ($(shell $(CC) -v 2>&1 | grep -c "gcc version"),1)
|
|
||||||
VER := $(shell $(CC) -dumpversion)
|
|
||||||
SYSTEM_INCLUDES += /usr/lib/gcc/$(TARGET)/$(VER)/include
|
|
||||||
endif
|
|
||||||
cppcheck: $(PASST_SRCS) $(HEADERS)
|
cppcheck: $(PASST_SRCS) $(HEADERS)
|
||||||
if cppcheck --check-level=exhaustive /dev/null > /dev/null 2>&1; then \
|
if cppcheck --check-level=exhaustive /dev/null > /dev/null 2>&1; then \
|
||||||
CPPCHECK_EXHAUSTIVE="--check-level=exhaustive"; \
|
CPPCHECK_EXHAUSTIVE="--check-level=exhaustive"; \
|
||||||
|
@ -177,11 +172,8 @@ cppcheck: $(PASST_SRCS) $(HEADERS)
|
||||||
cppcheck --std=c11 --error-exitcode=1 --enable=all --force \
|
cppcheck --std=c11 --error-exitcode=1 --enable=all --force \
|
||||||
--inconclusive --library=posix --quiet \
|
--inconclusive --library=posix --quiet \
|
||||||
$${CPPCHECK_EXHAUSTIVE} \
|
$${CPPCHECK_EXHAUSTIVE} \
|
||||||
$(SYSTEM_INCLUDES:%=-I%) \
|
|
||||||
$(SYSTEM_INCLUDES:%=--config-exclude=%) \
|
|
||||||
$(SYSTEM_INCLUDES:%=--suppress=*:%/*) \
|
|
||||||
$(SYSTEM_INCLUDES:%=--suppress=unmatchedSuppression:%/*) \
|
|
||||||
--inline-suppr \
|
--inline-suppr \
|
||||||
|
--suppress=missingIncludeSystem \
|
||||||
--suppress=unusedStructMember \
|
--suppress=unusedStructMember \
|
||||||
$(filter -D%,$(FLAGS) $(CFLAGS) $(CPPFLAGS)) -D CPPCHECK_6936 \
|
$(filter -D%,$(FLAGS) $(CFLAGS) $(CPPFLAGS)) -D CPPCHECK_6936 \
|
||||||
$(PASST_SRCS) $(HEADERS)
|
$(PASST_SRCS) $(HEADERS)
|
||||||
|
|
Loading…
Reference in a new issue