summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2015-12-30 11:35:50 +0000
committerAlexander Kornienko <alexfh@google.com>2015-12-30 11:35:50 +0000
commit8d228dda413a3c4b40cf0480f06b0edb232ba2c4 (patch)
treed81c05af7697122cd3f2e81d9e6afa3aa2adea93 /clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
parent72a96c66b275a27c5d7975d3a3435c1ffcd98c9d (diff)
downloadbcm5719-llvm-8d228dda413a3c4b40cf0480f06b0edb232ba2c4.tar.gz
bcm5719-llvm-8d228dda413a3c4b40cf0480f06b0edb232ba2c4.zip
[clang-tidy] Use hasLocalStorage() to identify unnecessary copy initializations to exclude static local variables.
Summary: Since local static variables can outlive other local variables exclude them from the unnecessary copy initialization check. Reviewers: alexfh Patch by Felix Berger! Differential Revision: http://reviews.llvm.org/D15822 llvm-svn: 256636
Diffstat (limited to 'clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
index f1c24f8ca89..37883e98f72 100644
--- a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
+++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
@@ -19,7 +19,6 @@ namespace performance {
using namespace ::clang::ast_matchers;
namespace {
-AST_MATCHER(VarDecl, isLocalVarDecl) { return Node.isLocalVarDecl(); }
AST_MATCHER(QualType, isPointerType) { return Node->isPointerType(); }
} // namespace
@@ -43,7 +42,7 @@ void UnnecessaryCopyInitialization::registerMatchers(
unless(callee(cxxMethodDecl())));
Finder->addMatcher(
varDecl(
- isLocalVarDecl(), hasType(isConstQualified()),
+ hasLocalStorage(), hasType(isConstQualified()),
hasType(matchers::isExpensiveToCopy()),
hasInitializer(cxxConstructExpr(
hasDeclaration(cxxConstructorDecl(isCopyConstructor())),
OpenPOWER on IntegriCloud