From 69b82474bd2c0bb41145db8e1ea0333780410730 Mon Sep 17 00:00:00 2001 From: firewave Date: Tue, 26 May 2026 20:47:26 +0200 Subject: [PATCH 1/2] cleaned up includes based on include-what-you-use --- Makefile | 4 ++-- cli/cmdlineparser.cpp | 3 ++- cli/processexecutor.cpp | 3 ++- cli/singleexecutor.cpp | 1 - cli/threadexecutor.cpp | 1 - gui/mainwindow.cpp | 3 --- gui/projectfiledialog.cpp | 1 - gui/test/resultstree/testresultstree.cpp | 1 - lib/checks.cpp | 2 ++ lib/cppcheck.h | 2 ++ lib/importproject.cpp | 1 + lib/settings.cpp | 1 + lib/settings.h | 10 +++++++--- lib/suppressions.cpp | 1 + lib/utils.h | 1 + lib/vf_common.cpp | 1 + test/testsuppressions.cpp | 1 + 17 files changed, 23 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 5a348e27001..a5290308bfe 100644 --- a/Makefile +++ b/Makefile @@ -723,13 +723,13 @@ cli/sehwrapper.o: cli/sehwrapper.cpp cli/sehwrapper.h lib/config.h lib/utils.h cli/signalhandler.o: cli/signalhandler.cpp cli/signalhandler.h cli/stacktrace.h lib/config.h $(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/signalhandler.cpp -cli/singleexecutor.o: cli/singleexecutor.cpp cli/executor.h cli/singleexecutor.h lib/addoninfo.h lib/check.h lib/checkers.h lib/config.h lib/cppcheck.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/regex.h lib/settings.h lib/standards.h lib/timer.h lib/utils.h +cli/singleexecutor.o: cli/singleexecutor.cpp cli/executor.h cli/singleexecutor.h lib/addoninfo.h lib/check.h lib/checkers.h lib/config.h lib/cppcheck.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/regex.h lib/settings.h lib/standards.h lib/utils.h $(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/singleexecutor.cpp cli/stacktrace.o: cli/stacktrace.cpp cli/stacktrace.h lib/config.h lib/utils.h $(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/stacktrace.cpp -cli/threadexecutor.o: cli/threadexecutor.cpp cli/executor.h cli/threadexecutor.h lib/addoninfo.h lib/check.h lib/checkers.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/regex.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h +cli/threadexecutor.o: cli/threadexecutor.cpp cli/executor.h cli/threadexecutor.h lib/addoninfo.h lib/check.h lib/checkers.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/regex.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h $(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ cli/threadexecutor.cpp test/fixture.o: test/fixture.cpp externals/tinyxml2/tinyxml2.h lib/addoninfo.h lib/check.h lib/checkers.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/regex.h lib/settings.h lib/standards.h lib/timer.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/xml.h test/fixture.h test/helpers.h test/options.h test/redirect.h diff --git a/cli/cmdlineparser.cpp b/cli/cmdlineparser.cpp index 27cfe08d871..5f735c4ec56 100644 --- a/cli/cmdlineparser.cpp +++ b/cli/cmdlineparser.cpp @@ -50,7 +50,6 @@ #include #include #include -#include #include #include #include @@ -61,6 +60,8 @@ // xml is used for rules #include "xml.h" + +#include #endif static bool addFilesToList(const std::string& fileList, std::vector& pathNames) diff --git a/cli/processexecutor.cpp b/cli/processexecutor.cpp index e77a75ba39e..959d16d37ec 100644 --- a/cli/processexecutor.cpp +++ b/cli/processexecutor.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -44,9 +45,9 @@ #include #include #include +#include #include #include -#include #include #include #include diff --git a/cli/singleexecutor.cpp b/cli/singleexecutor.cpp index d710a4d4c57..e25fc804490 100644 --- a/cli/singleexecutor.cpp +++ b/cli/singleexecutor.cpp @@ -21,7 +21,6 @@ #include "cppcheck.h" #include "filesettings.h" #include "settings.h" -#include "timer.h" #include #include diff --git a/cli/threadexecutor.cpp b/cli/threadexecutor.cpp index b8581d7e772..5d723366574 100644 --- a/cli/threadexecutor.cpp +++ b/cli/threadexecutor.cpp @@ -26,7 +26,6 @@ #include "filesettings.h" #include "settings.h" #include "suppressions.h" -#include "timer.h" #include #include diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index ce1b3ef1508..15f3e8e0665 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -23,7 +23,6 @@ #include "aboutdialog.h" #include "analyzerinfo.h" #include "checkers.h" -#include "checkstatistics.h" #include "checkthread.h" #include "common.h" #include "cppcheck.h" @@ -60,7 +59,6 @@ #include #include -#include #include #include #include @@ -101,7 +99,6 @@ #include #include #include -#include #include #include #include diff --git a/gui/projectfiledialog.cpp b/gui/projectfiledialog.cpp index 4e75696484b..e156f3dfe3b 100644 --- a/gui/projectfiledialog.cpp +++ b/gui/projectfiledialog.cpp @@ -23,7 +23,6 @@ #include "importproject.h" #include "library.h" #include "newsuppressiondialog.h" -#include "path.h" #include "platform.h" #include "platforms.h" #include "projectfile.h" diff --git a/gui/test/resultstree/testresultstree.cpp b/gui/test/resultstree/testresultstree.cpp index afda38e0075..921abd69ff0 100644 --- a/gui/test/resultstree/testresultstree.cpp +++ b/gui/test/resultstree/testresultstree.cpp @@ -22,7 +22,6 @@ // headers that declare mocked functions/variables #include "applicationlist.h" -#include "common.h" #include "filesettings.h" #include "projectfile.h" #include "threadhandler.h" diff --git a/lib/checks.cpp b/lib/checks.cpp index 169832c2745..ef4b9fef3da 100644 --- a/lib/checks.cpp +++ b/lib/checks.cpp @@ -42,6 +42,8 @@ #include "checkunusedvar.h" #include "checkvaarg.h" +#include + class CheckInstancesImpl { private: diff --git a/lib/cppcheck.h b/lib/cppcheck.h index 94f2b721037..d72e65ebb34 100644 --- a/lib/cppcheck.h +++ b/lib/cppcheck.h @@ -31,7 +31,9 @@ #include #include +#ifdef HAVE_RULES class TokenList; +#endif struct FileSettings; class CheckUnusedFunctions; class Tokenizer; diff --git a/lib/importproject.cpp b/lib/importproject.cpp index ac19db922ed..96e8b98f2e8 100644 --- a/lib/importproject.cpp +++ b/lib/importproject.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/settings.cpp b/lib/settings.cpp index 080946e07bc..0df9907b3ab 100644 --- a/lib/settings.cpp +++ b/lib/settings.cpp @@ -17,6 +17,7 @@ */ #include "config.h" +#include "errortypes.h" #include "settings.h" #include "path.h" #include "summaries.h" diff --git a/lib/settings.h b/lib/settings.h index 6c12c509701..25dee019739 100644 --- a/lib/settings.h +++ b/lib/settings.h @@ -23,7 +23,6 @@ #include "addoninfo.h" #include "config.h" -#include "errortypes.h" #include "library.h" #include "platform.h" #include "standards.h" @@ -40,22 +39,27 @@ #include #include -#include "regex.h" - #if defined(USE_WINDOWS_SEH) || defined(USE_UNIX_SIGNAL_HANDLING) #include #endif #ifdef HAVE_RULES +#include "errortypes.h" +#include "regex.h" + #include class Regex; +#else +enum class Severity : std::uint8_t; #endif struct Suppressions; namespace ValueFlow { class Value; } +enum class Certainty : std::uint8_t; +enum class Checks : std::uint8_t; /// @addtogroup Core /// @{ diff --git a/lib/suppressions.cpp b/lib/suppressions.cpp index 70b689e2cdb..fe483e347fe 100644 --- a/lib/suppressions.cpp +++ b/lib/suppressions.cpp @@ -31,6 +31,7 @@ #include #include // std::isdigit, std::isalnum, etc #include +#include #include // std::bind, std::placeholders #include #include diff --git a/lib/utils.h b/lib/utils.h index 3f9c4ab949f..410bd7c6040 100644 --- a/lib/utils.h +++ b/lib/utils.h @@ -25,6 +25,7 @@ #include #include +#include #include #include #include diff --git a/lib/vf_common.cpp b/lib/vf_common.cpp index 282e0b9fddb..56f928bcbd8 100644 --- a/lib/vf_common.cpp +++ b/lib/vf_common.cpp @@ -19,6 +19,7 @@ #include "vf_common.h" #include "astutils.h" +#include "library.h" #include "mathlib.h" #include "path.h" #include "platform.h" diff --git a/test/testsuppressions.cpp b/test/testsuppressions.cpp index 49d46149c90..90c64eb809e 100644 --- a/test/testsuppressions.cpp +++ b/test/testsuppressions.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include From 592aac646b0520a123aebde109df08f21e7f6600 Mon Sep 17 00:00:00 2001 From: firewave Date: Wed, 27 May 2026 10:01:08 +0200 Subject: [PATCH 2/2] selfcheck.yml: adjusted line suppressions --- .github/workflows/selfcheck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/selfcheck.yml b/.github/workflows/selfcheck.yml index cfd1107e92d..dcdf8bfbdd3 100644 --- a/.github/workflows/selfcheck.yml +++ b/.github/workflows/selfcheck.yml @@ -121,7 +121,7 @@ jobs: - name: Self check (unusedFunction / no test / no gui) run: | - supprs="--suppress=unusedFunction:lib/errorlogger.h:197 --suppress=unusedFunction:lib/importproject.cpp:1665 --suppress=unusedFunction:lib/importproject.cpp:1689" + supprs="--suppress=unusedFunction:lib/errorlogger.h:197 --suppress=unusedFunction:lib/importproject.cpp:1666 --suppress=unusedFunction:lib/importproject.cpp:1690" ./cppcheck -q --template=selfcheck --error-exitcode=1 --library=cppcheck-lib -D__CPPCHECK__ -D__GNUC__ --enable=unusedFunction,information --exception-handling -rp=. --project=cmake.output.notest_nogui/compile_commands.json --suppressions-list=.selfcheck_unused_suppressions --inline-suppr $supprs env: DISABLE_VALUEFLOW: 1