mirror of
https://github.com/intel/llvm.git
synced 2026-01-25 19:44:38 +08:00
[NFC][clang] Fix Coverity static analyzer tool concerns about auto_causes_copy
Reported by Coverity:
AUTO_CAUSES_COPY
Unnecessary object copies can affect performance
Inside FrontendActions.cpp file,
In clang::DumpModuleInfoAction::ExecuteAction(): Using the auto keyword without an & causes the copy of an object of type pair.
Inside ComputeDependence.cpp file,
In clang::computeDependence(clang::OverloadExpr *, bool, bool, bool): Using the auto keyword without an & causes the copy of an object of type TemplateArgumentLoc.
Reviewed By: erichkeane, aaron.ballman
Differential Revision: https://reviews.llvm.org/D147574
This commit is contained in:
@@ -750,7 +750,7 @@ clang::computeDependence(OverloadExpr *E, bool KnownDependent,
|
||||
// If we have explicit template arguments, check for dependent
|
||||
// template arguments and whether they contain any unexpanded pack
|
||||
// expansions.
|
||||
for (auto A : E->template_arguments())
|
||||
for (const auto &A : E->template_arguments())
|
||||
Deps |= toExprDependence(A.getArgument().getDependence());
|
||||
return Deps;
|
||||
}
|
||||
|
||||
@@ -882,7 +882,7 @@ void DumpModuleInfoAction::ExecuteAction() {
|
||||
}
|
||||
|
||||
// Now let's print out any modules we did not see as part of the Primary.
|
||||
for (auto SM : SubModMap) {
|
||||
for (const auto &SM : SubModMap) {
|
||||
if (!SM.second.Seen && SM.second.Mod) {
|
||||
Out << " " << ModuleKindName(SM.second.Kind) << " '" << SM.first
|
||||
<< "' at index #" << SM.second.Idx
|
||||
|
||||
Reference in New Issue
Block a user