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); 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.. 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()