From f3531f14944e264ec4bae3b116ad6d2807eff2cd Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:09:01 +0200 Subject: [PATCH 1/3] Update checkcondition.cpp --- lib/checkcondition.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/checkcondition.cpp b/lib/checkcondition.cpp index cf54c882f34..570575b4682 100644 --- a/lib/checkcondition.cpp +++ b/lib/checkcondition.cpp @@ -1524,11 +1524,6 @@ void CheckCondition::alwaysTrueFalse() } if (!tok->hasKnownIntValue()) continue; - if (Token::Match(tok->previous(), "%name% (") && tok->previous()->function()) { - const Function* f = tok->previous()->function(); - if (f->functionScope && Token::Match(f->functionScope->bodyStart, "{ return true|false ;")) - continue; - } const Token* condition = nullptr; { // is this a condition.. From 73c6f01090bd24943a0d5564cdf0134dbd9b4b3c Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:10:13 +0200 Subject: [PATCH 2/3] Update testcondition.cpp --- test/testcondition.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/testcondition.cpp b/test/testcondition.cpp index 29d63562fa3..3e4d1fd1f2f 100644 --- a/test/testcondition.cpp +++ b/test/testcondition.cpp @@ -4846,6 +4846,15 @@ class TestCondition : public TestFixture { "}\n"); ASSERT_EQUALS("[test.cpp:6:9] -> [test.cpp:9:9]: (warning) Identical condition 'a', second condition is always false [identicalConditionAfterEarlyExit]\n", errout_str()); + + check("bool b() { return false; }\n" // #10452 + "void f() {\n" + " if (b()) {}\n" + " if (!b()) {}\n" + "}\n"); + ASSERT_EQUALS("[test.cpp:3:10]: (style) Condition 'b()' is always false [knownConditionTrueFalse]\n" + "[test.cpp:4:9]: (style) Condition '!b()' is always true [knownConditionTrueFalse]\n", + errout_str()); } void alwaysTrueSymbolic() From 10bed0e7dcff31021954fb7f101a79b676d4a65e Mon Sep 17 00:00:00 2001 From: chrchr-github Date: Fri, 10 Apr 2026 19:26:59 +0200 Subject: [PATCH 3/3] Suppress --- gui/statsdialog.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/gui/statsdialog.cpp b/gui/statsdialog.cpp index f16b6cba3b9..d3e15d87ad5 100644 --- a/gui/statsdialog.cpp +++ b/gui/statsdialog.cpp @@ -113,6 +113,7 @@ void StatsDialog::setProject(const ProjectFile* projectFile) if (!statsFile.isEmpty()) { QChartView *chartView = createChart(statsFile, "cppcheck"); mUI->mTabHistory->layout()->addWidget(chartView); + // cppcheck-suppress knownConditionTrueFalse - TODO in getClangAnalyzer() if (projectFile->getClangAnalyzer()) { chartView = createChart(statsFile, CLANG_ANALYZER); mUI->mTabHistory->layout()->addWidget(chartView);