summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2015-08-19 20:26:22 +0000
committerAaron Ballman <aaron@aaronballman.com>2015-08-19 20:26:22 +0000
commitf7c25368b7c2839719976234aabc200ef2d6ce47 (patch)
tree3a7cb9c36d17c672068553e6f336001492c263db /clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
parent814b70598446c1dc64974e78d04621d5f7cc6d42 (diff)
downloadbcm5719-llvm-f7c25368b7c2839719976234aabc200ef2d6ce47.tar.gz
bcm5719-llvm-f7c25368b7c2839719976234aabc200ef2d6ce47.zip
Replacing a custom AST matcher with some builtin AST matchers; NFC, and existing tests should provide sufficient coverage.
llvm-svn: 245492
Diffstat (limited to 'clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp15
1 files changed, 1 insertions, 14 deletions
diff --git a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
index d6d750b07d3..d039e0111e0 100644
--- a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
@@ -45,19 +45,6 @@ AST_MATCHER(CXXRecordDecl, isMoveConstructible) {
return false;
}
-/// \brief Matches non-deleted copy constructors.
-///
-/// Given
-/// \code
-/// struct Foo { Foo(const Foo &) = default; };
-/// struct Bar { Bar(const Bar &) = deleted; };
-/// \endcode
-/// constructorDecl(isNonDeletedCopyConstructor())
-/// matches "Foo(const Foo &)".
-AST_MATCHER(CXXConstructorDecl, isNonDeletedCopyConstructor) {
- return Node.isCopyConstructor() && !Node.isDeleted();
-}
-
static TypeMatcher constRefType() {
return lValueReferenceType(pointee(isConstQualified()));
}
@@ -158,7 +145,7 @@ void PassByValueCheck::registerMatchers(MatchFinder *Finder) {
anyOf(constRefType(), nonConstValueType()))))
.bind("Param")))),
hasDeclaration(constructorDecl(
- isNonDeletedCopyConstructor(),
+ isCopyConstructor(), unless(isDeleted()),
hasDeclContext(recordDecl(isMoveConstructible())))))))
.bind("Initializer")))
.bind("Ctor"),
OpenPOWER on IntegriCloud