aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Komissarov <ABBAPOH@gmail.com>2019-11-24 13:44:43 +0900
committerIvan Komissarov <ABBAPOH@gmail.com>2019-12-09 18:22:51 +0000
commitf8c9a663fb2beda731c7a8d2b7ae62c4514b5f62 (patch)
treed33fa3fc0f0685a217afab8b03895f6d1257d057
parent72733c1063f3e5f36af2d1d608808718ae0fda0e (diff)
Fix 'performance-move-const-arg' warnings
Also, treat that warning as error In some places move is redundant (e.g. when moving int or enum), in others it wasn't working as expected (i.e. not moving, but copying instead), in some, const-ref was (uselessly) moved. Fix those places Change-Id: I0b38667a71967fa35ca627990d3c12124fb62af0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--.clang-tidy2
-rw-r--r--src/app/qbs/session.cpp2
-rw-r--r--src/lib/corelib/generators/xmlpropertygroup.cpp2
-rw-r--r--src/lib/corelib/tools/executablefinder.cpp4
-rw-r--r--src/lib/corelib/tools/executablefinder.h2
-rw-r--r--src/plugins/generator/iarew/iarewoptionpropertygroup.cpp6
-rw-r--r--src/plugins/generator/iarew/iarewoptionpropertygroup.h3
-rw-r--r--src/plugins/generator/iarew/iarewsettingspropertygroup.cpp7
-rw-r--r--src/plugins/generator/iarew/iarewsettingspropertygroup.h2
9 files changed, 15 insertions, 15 deletions
diff --git a/.clang-tidy b/.clang-tidy
index a261f4b59..5673befed 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -1,6 +1,6 @@
---
Checks: '-*,bugprone-*,cppcoreguidelines-c-copy-assignment-signature,cppcoreguidelines-interfaces-global-init,cppcoreguidelines-no-malloc,cppcoreguidelines-pro-bounds-constant-array-index,cppcoreguidelines-pro-type-const-cast,cppcoreguidelines-pro-type-cstyle-cast,cppcoreguidelines-pro-type-member-init,cppcoreguidelines-pro-type-union-access,cppcoreguidelines-slicing,cppcoreguidelines-special-member-functions,fuchsia-virtual-inheritance,google-build-explicit-make-pair,google-build-namespaces,google-global-names-in-headers,google-objc-*,google-readability-casting,google-readability-function-size,google-readability-namespace-comments,google-runtime-int,google-runtime-operator,misc-definitions-in-headers,misc-misplaced-const,misc-new-delete-overloads,misc-non-copyable-objects,misc-redundant-expression,misc-static-assert,misc-throw-by-value-catch-by-reference,misc-unconventional-assign-operator,misc-uniqueptr-reset-release,misc-unused-*,modernize-avoid-bind,modernize-deprecated-headers,modernize-loop-convert,modernize-make-*,modernize-pass-by-value,modernize-redundant-void-arg,modernize-replace-*,modernize-return-braced-init-list,modernize-shrink-to-fit,modernize-unary-static-assert,modernize-use-auto,modernize-use-bool-literals,modernize-use-emplace,modernize-use-equals-*,modernize-use-noexcept,modernize-use-nullptr,modernize-use-override,modernize-use-transparent-functors,modernize-use-using,performance-*,readability-avoid-const-params-in-decls,readability-container-size-empty,readability-delete-null-pointer,readability-deleted-default,readability-function-size,readability-identifier-naming,readability-misleading-indentation,readability-misplaced-array-index,readability-non-const-parameter,readability-redundant-*,readability-simplify-boolean-expr,readability-static-definition-in-anonymous-namespace,readability-uniqueptr-delete-release'
-WarningsAsErrors: 'bugprone-*,-bugprone-suspicious-enum-usage,-bugprone-macro-parentheses,-bugprone-narrowing-conversions,modernize-make-unique,modernize-use-emplace,modernize-use-equals-default,modernize-use-override'
+WarningsAsErrors: 'bugprone-*,-bugprone-suspicious-enum-usage,-bugprone-macro-parentheses,-bugprone-narrowing-conversions,modernize-make-unique,modernize-use-emplace,modernize-use-equals-default,modernize-use-override,performance-move-const-arg'
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
CheckOptions:
diff --git a/src/app/qbs/session.cpp b/src/app/qbs/session.cpp
index ee9ee4cb3..7e141b4a6 100644
--- a/src/app/qbs/session.cpp
+++ b/src/app/qbs/session.cpp
@@ -248,7 +248,7 @@ void Session::setupProject(const QJsonObject &request)
if (m_currentJob) {
if (qobject_cast<SetupProjectJob *>(m_currentJob)
&& m_currentJob->state() == AbstractJob::StateCanceling) {
- m_resolveRequest = std::move(request);
+ m_resolveRequest = request;
return;
}
sendErrorReply("project-resolved",
diff --git a/src/lib/corelib/generators/xmlpropertygroup.cpp b/src/lib/corelib/generators/xmlpropertygroup.cpp
index 398d68e77..1dc92e553 100644
--- a/src/lib/corelib/generators/xmlpropertygroup.cpp
+++ b/src/lib/corelib/generators/xmlpropertygroup.cpp
@@ -48,7 +48,7 @@ void PropertyGroup::appendProperty(QByteArray name, QVariant value)
void PropertyGroup::appendMultiLineProperty(
QByteArray key, QStringList values, QChar sep)
{
- const auto line = values.join(std::move(sep));
+ const auto line = values.join(sep);
appendProperty(std::move(key), QVariant::fromValue(line));
}
diff --git a/src/lib/corelib/tools/executablefinder.cpp b/src/lib/corelib/tools/executablefinder.cpp
index 4342c82f0..0dc06dd86 100644
--- a/src/lib/corelib/tools/executablefinder.cpp
+++ b/src/lib/corelib/tools/executablefinder.cpp
@@ -64,9 +64,9 @@ static QStringList populateExecutableSuffixes()
QStringList ExecutableFinder::m_executableSuffixes = populateExecutableSuffixes();
-ExecutableFinder::ExecutableFinder(ResolvedProductPtr product, QProcessEnvironment env)
+ExecutableFinder::ExecutableFinder(ResolvedProductPtr product, const QProcessEnvironment &env)
: m_product(std::move(product))
- , m_environment(std::move(env))
+ , m_environment(env) // QProcessEnvironment doesn't have move-ctor, copy here
{
}
diff --git a/src/lib/corelib/tools/executablefinder.h b/src/lib/corelib/tools/executablefinder.h
index 9467756fc..ae834d911 100644
--- a/src/lib/corelib/tools/executablefinder.h
+++ b/src/lib/corelib/tools/executablefinder.h
@@ -53,7 +53,7 @@ namespace Internal {
class ExecutableFinder
{
public:
- ExecutableFinder(ResolvedProductPtr product, QProcessEnvironment env);
+ ExecutableFinder(ResolvedProductPtr product, const QProcessEnvironment &env);
QString findExecutable(const QString &path, const QString &workingDirPath);
diff --git a/src/plugins/generator/iarew/iarewoptionpropertygroup.cpp b/src/plugins/generator/iarew/iarewoptionpropertygroup.cpp
index 8b9f79f1c..bfe2c4548 100644
--- a/src/plugins/generator/iarew/iarewoptionpropertygroup.cpp
+++ b/src/plugins/generator/iarew/iarewoptionpropertygroup.cpp
@@ -33,7 +33,7 @@
namespace qbs {
IarewOptionPropertyGroup::IarewOptionPropertyGroup(
- QByteArray name, const QVariantList &states, int version)
+ QByteArray name, QVariantList states, int version)
: gen::xml::PropertyGroup(QByteArrayLiteral("option"))
{
// Append name property item.
@@ -43,10 +43,10 @@ IarewOptionPropertyGroup::IarewOptionPropertyGroup(
// Append version property item.
if (version >= 0)
appendChild<gen::xml::Property>(QByteArrayLiteral("version"),
- std::move(version));
+ version);
// Append state property items.
- for (const auto &state : states) {
+ for (auto &state : states) {
if (state.isNull())
continue;
appendChild<gen::xml::Property>(QByteArrayLiteral("state"),
diff --git a/src/plugins/generator/iarew/iarewoptionpropertygroup.h b/src/plugins/generator/iarew/iarewoptionpropertygroup.h
index d24fe3a9d..8844537c3 100644
--- a/src/plugins/generator/iarew/iarewoptionpropertygroup.h
+++ b/src/plugins/generator/iarew/iarewoptionpropertygroup.h
@@ -41,8 +41,7 @@ class IarewOptionPropertyGroup final
: public gen::xml::PropertyGroup
{
public:
- explicit IarewOptionPropertyGroup(
- QByteArray name, const QVariantList &states,
+ explicit IarewOptionPropertyGroup(QByteArray name, QVariantList states,
int version = -1);
};
diff --git a/src/plugins/generator/iarew/iarewsettingspropertygroup.cpp b/src/plugins/generator/iarew/iarewsettingspropertygroup.cpp
index 3e7b6dae7..1f08783ae 100644
--- a/src/plugins/generator/iarew/iarewsettingspropertygroup.cpp
+++ b/src/plugins/generator/iarew/iarewsettingspropertygroup.cpp
@@ -65,7 +65,8 @@ IarewSettingsPropertyGroup::IarewSettingsPropertyGroup()
void IarewSettingsPropertyGroup::setName(QByteArray name)
{
- m_nameProperty->setValue(std::move(name));
+ // There is no way to move-construct a QVariant from T, thus name is shallow-copied
+ m_nameProperty->setValue(QVariant(name));
}
QByteArray IarewSettingsPropertyGroup::name() const
@@ -96,11 +97,11 @@ void IarewSettingsPropertyGroup::setDataDebugInfo(int debugInfo)
void IarewSettingsPropertyGroup::addOptionsGroup(
QByteArray name,
- const QVariantList &states,
+ QVariantList states,
int version)
{
m_dataPropertyGroup->appendChild<IarewOptionPropertyGroup>(
- std::move(name), states, std::move(version));
+ std::move(name), std::move(states), version);
}
} // namespace qbs
diff --git a/src/plugins/generator/iarew/iarewsettingspropertygroup.h b/src/plugins/generator/iarew/iarewsettingspropertygroup.h
index 4dea76f1a..5ef9ef75c 100644
--- a/src/plugins/generator/iarew/iarewsettingspropertygroup.h
+++ b/src/plugins/generator/iarew/iarewsettingspropertygroup.h
@@ -50,7 +50,7 @@ protected:
void setDataVersion(int dataVersion);
void setDataDebugInfo(int debugInfo);
- void addOptionsGroup(QByteArray name, const QVariantList &states,
+ void addOptionsGroup(QByteArray name, QVariantList states,
int version = -1);
private: