diff options
author | Alexander Kornienko <alexfh@google.com> | 2015-12-30 11:35:50 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2015-12-30 11:35:50 +0000 |
commit | 8d228dda413a3c4b40cf0480f06b0edb232ba2c4 (patch) | |
tree | d81c05af7697122cd3f2e81d9e6afa3aa2adea93 /clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp | |
parent | 72a96c66b275a27c5d7975d3a3435c1ffcd98c9d (diff) | |
download | bcm5719-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.cpp | 3 |
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())), |