Ref T488 Update cppcheck suppressions.

This commit is contained in:
Mat Sutcliffe
2018-12-26 20:52:27 +00:00
parent 84a5349c6c
commit 5a17f43a5b
10 changed files with 18 additions and 26 deletions

2
Jenkinsfile vendored
View File

@@ -26,7 +26,7 @@ builders['Build swift Linux'] = {
}
stage('Linux Checks') {
sh 'cppcheck --xml --xml-version=2 --inline-suppr --std=c++11 -ibuild --enable=style,unusedFunction -i externals ' +
sh 'cppcheck --xml --xml-version=2 --inline-suppr --std=c++14 -ibuild --enable=style,unusedFunction -i externals ' +
'--suppressions-list=cppcheck.supp --library=qt.cfg --library=posix.cfg . 2> cppcheck.xml'
publishCppcheck allowNoReport: true, pattern: 'cppcheck.xml'

View File

@@ -5,33 +5,17 @@
// [error id]:[filename2]
// [error id]
// False positive caused by missing support for C++11 feature
unusedPrivateFunction:src/blackmisc/lockfree.h
// Ignore noExplicitConstructor for now.
noExplicitConstructor
// Ignore useStlAlgorithm for now (consider designing our own useBlackMiscAlgorithm checks)
useStlAlgorithm
// Internal errors
cppcheckError
// Ignore style issues in g2clib
variableScope:src/plugins/weatherdata/gfs/g2clib/*.c
// Shared pointers should be passed by value
passedByValue:src/blackmisc/lockfree.h
// Passing std::function by value is acceptable
passedByValue:src/xswiftbus/libxplanemp/src/ResourceManager.h
passedByValue:tests/blackcore/vatsim/testnetwork/expect.h
passedByValue:src/xswiftbus/command.h
// Unique pointers should be passed by value
passedByValue:src/xswiftbus/menus.h
passedByValue:src/xswiftbus/menus.cpp
// cppcheck cannot handle the advanced workaround in use
operatorEqRetRefThis:src/blackmisc/iterator.h
// Ignore unusedFunction as it has too many false positives (especially in tests)
unusedFunction
// Return value of those functions is not required.
ignoredReturnValue:src/blackmisc/dbusserver.cpp
ignoredReturnValue:src/blackmisc/simplecommandparser.cpp

View File

@@ -318,6 +318,7 @@ namespace BlackGui
ui->le_SimulatorDirectory->setPlaceholderText(simDir.isEmpty() ? "Simulator directory" : simDir);
//! \fixme correct version when Qt multiline placeholder is fixed https://bugreports.qt.io/browse/QTBUG-43817
// cppcheck-suppress knownConditionTrueFalse
constexpr bool BrokenMultilinePlaceholder = true; // last checked with Qt 5.10
// we take the settings and update to latest sim.directory
@@ -332,6 +333,7 @@ namespace BlackGui
else
{
const QString ms = m.join("<br>");
// cppcheck-suppress knownConditionTrueFalse
if (BrokenMultilinePlaceholder && m.size() > 1)
{
ui->pte_ModelDirectories->setToolTip(unwrappedTooltip(ms));

View File

@@ -367,6 +367,7 @@ namespace BlackMisc
QString p = port.toLower().trimmed();
if (!p.isEmpty())
{
// cppcheck-suppress ignoredReturnValue
p.toShort(&ok);
if (!ok)
{

View File

@@ -55,7 +55,8 @@ namespace BlackMisc
{
// Work around lambda's deleted copy assignment operator
this->~OutputIterator();
return *new (this) OutputIterator(other);
new (this) OutputIterator(other);
return *this;
}
//! Destructor.

View File

@@ -431,6 +431,7 @@ namespace BlackMisc
if (value.isUndefined())
{
constexpr bool required = false; //! \fixme add RequiredForJson flag in metaclass system
// cppcheck-suppress knownConditionTrueFalse
if (required) { throw CJsonException(QStringLiteral("Missing required member '%1'").arg(member.latin1Name())); }
}
else

View File

@@ -87,6 +87,7 @@ namespace BlackMisc
const QString p = this->part(index);
if (p.isEmpty()) { return false; }
bool ok = false;
// cppcheck-suppress ignoredReturnValue
p.toInt(&ok);
return ok;
}

View File

@@ -2391,6 +2391,7 @@ namespace BlackSimPlugin
void CSimulatorFsxCommon::traceSendId(const CSimConnectObject &simObject, const QString &functionName, const QString &details, bool forceTrace)
{
if (!forceTrace && !this->isTracingSendId()) { return; }
// cppcheck-suppress knownConditionTrueFalse
if (MaxSendIdTraces < 1) { return; }
DWORD dwLastId = 0;
const HRESULT hr = SimConnect_GetLastSentPacketID(m_hSimConnect, &dwLastId);

View File

@@ -36,7 +36,7 @@ namespace XSwiftBus
CDBusConnection::~CDBusConnection()
{
close();
if (m_connection) { dispatch(); }
if (m_connection) { dispatch(); } // dispatch is virtual, but safe to call in dtor, as it's declared final
if (m_dispatcher) { m_dispatcher->remove(this); }
}

View File

@@ -85,7 +85,8 @@ namespace XSwiftBus
CDBusError lastError() const { return m_lastError; }
protected:
virtual void dispatch() override;
// cppcheck-suppress virtualCallInConstructor
virtual void dispatch() override final;
private:
void setDispatchStatus(DBusConnection *connection, DBusDispatchStatus status);