Skip to content

Commit a7dd9f6

Browse files
committed
vf_settokenvalue.cpp: void unnecessary copy in setTokenValue()
1 parent ed308b9 commit a7dd9f6

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

lib/vf_settokenvalue.cpp

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -345,27 +345,26 @@ namespace ValueFlow
345345
setTokenValue(parent, std::move(value), settings);
346346
return;
347347
}
348-
Value pvalue = value;
349348
if (!value.subexpressions.empty() && Token::Match(parent, ". %var%")) {
350349
if (contains(value.subexpressions, parent->strAt(1)))
351-
pvalue.subexpressions.clear();
350+
value.subexpressions.clear();
352351
else
353352
return;
354353
}
355354
if (parent->isUnaryOp("&")) {
356-
pvalue.indirect++;
357-
setTokenValue(parent, std::move(pvalue), settings);
355+
value.indirect++;
356+
setTokenValue(parent, std::move(value), settings);
358357
} else if (Token::Match(parent, ". %var%") && parent->astOperand1() == tok && parent->astOperand2()) {
359-
if (parent->originalName() == "->" && pvalue.indirect > 0)
360-
pvalue.indirect--;
361-
setTokenValue(parent->astOperand2(), std::move(pvalue), settings);
358+
if (parent->originalName() == "->" && value.indirect > 0)
359+
value.indirect--;
360+
setTokenValue(parent->astOperand2(), std::move(value), settings);
362361
} else if (Token::Match(parent->astParent(), ". %var%") && parent->astParent()->astOperand1() == parent) {
363-
if (parent->astParent()->originalName() == "->" && pvalue.indirect > 0)
364-
pvalue.indirect--;
365-
setTokenValue(parent->astParent()->astOperand2(), std::move(pvalue), settings);
366-
} else if (parent->isUnaryOp("*") && pvalue.indirect > 0) {
367-
pvalue.indirect--;
368-
setTokenValue(parent, std::move(pvalue), settings);
362+
if (parent->astParent()->originalName() == "->" && value.indirect > 0)
363+
value.indirect--;
364+
setTokenValue(parent->astParent()->astOperand2(), std::move(value), settings);
365+
} else if (parent->isUnaryOp("*") && value.indirect > 0) {
366+
value.indirect--;
367+
setTokenValue(parent, std::move(value), settings);
369368
}
370369
return;
371370
}

0 commit comments

Comments
 (0)