diff --git a/src/libs/cplusplus/PPToken.h b/src/libs/cplusplus/PPToken.h index af31dec861c..a2d0f2af532 100644 --- a/src/libs/cplusplus/PPToken.h +++ b/src/libs/cplusplus/PPToken.h @@ -109,6 +109,10 @@ public: : m_src(src) {} + PPToken(QByteArray &&src) + : m_src(std::move(src)) + {} + void setSource(const QByteArray &src) { m_src = src; } diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp index 913a6a3c9b6..b3cfe6bd15a 100644 --- a/src/libs/cplusplus/pp-engine.cpp +++ b/src/libs/cplusplus/pp-engine.cpp @@ -1219,12 +1219,12 @@ bool Preprocessor::handleFunctionLikeMacro(const Macro *macro, // No formal macro parameter for this identifier in the body. bodyTk.f.generated = true; bodyTk.lineno = baseLine; - expanded.push_back(bodyTk); + expanded.push_back(std::move(bodyTk)); } } else if (bodyTk.isNot(T_POUND) && bodyTk.isNot(T_POUND_POUND)) { bodyTk.f.generated = true; bodyTk.lineno = baseLine; - expanded.push_back(bodyTk); + expanded.push_back(std::move(bodyTk)); } if (i > 1 && body[int(i) - 1].is(T_POUND_POUND)) {