mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
b7f9367f6f
Also started teaching it about toxcore's alloc/dealloc functions in hopes of it catching some errors (it doesn't seem to be very good at this, but maybe better than nothing?).
45 lines
1.5 KiB
Bash
Executable File
45 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
SKIP_GTEST=1
|
|
|
|
. other/analysis/gen-file.sh
|
|
|
|
set -e
|
|
|
|
CPPCHECK=("--enable=all")
|
|
CPPCHECK+=("--inconclusive")
|
|
CPPCHECK+=("--check-level=exhaustive")
|
|
CPPCHECK+=("--inline-suppr")
|
|
CPPCHECK+=("--library=other/docker/cppcheck/toxcore.cfg")
|
|
CPPCHECK+=("--error-exitcode=1")
|
|
# We don't cast function pointers, which cppcheck suggests here.
|
|
CPPCHECK+=("--suppress=constParameterCallback")
|
|
# False positives in switch statements.
|
|
CPPCHECK+=("--suppress=knownConditionTrueFalse")
|
|
# Cppcheck does not need standard library headers to get proper results.
|
|
CPPCHECK+=("--suppress=missingIncludeSystem")
|
|
# TODO(iphydf): Maybe fix?
|
|
CPPCHECK+=("--suppress=signConversion")
|
|
# TODO(iphydf): Fixed in the toxav refactor PR.
|
|
CPPCHECK+=("--suppress=redundantAssignment")
|
|
|
|
# We use this for VLAs.
|
|
CPPCHECK_CXX+=("--suppress=allocaCalled")
|
|
# False positive in auto_tests.
|
|
CPPCHECK_CXX+=("--suppress=shadowFunction")
|
|
# False positive in group.c.
|
|
# Using cppcheck-suppress claims the suppression is unused.
|
|
CPPCHECK_CXX+=("--suppress=AssignmentAddressToInteger")
|
|
# We use C style casts because we write C code.
|
|
CPPCHECK_CXX+=("--suppress=cstyleCast")
|
|
# Used in Messenger.c for a static_assert(...)
|
|
CPPCHECK_CXX+=("--suppress=sizeofFunctionCall")
|
|
|
|
run() {
|
|
echo "Running cppcheck in variant '$*'"
|
|
cppcheck -j8 "${CPPCHECK[@]}" "${CPPCHECK_C[@]}" tox*/*.[ch] tox*/*/*.[ch] "${CPPFLAGS[@]}" "$@"
|
|
cppcheck "${CPPCHECK[@]}" "${CPPCHECK_CXX[@]}" amalgamation.cc "${CPPFLAGS[@]}" "$@"
|
|
}
|
|
|
|
. other/analysis/variants.sh
|