diff options
| author | Alexander Kornienko <alexfh@google.com> | 2015-06-17 13:11:37 +0000 |
|---|---|---|
| committer | Alexander Kornienko <alexfh@google.com> | 2015-06-17 13:11:37 +0000 |
| commit | 50d7f4617f250a8f0dac565d273d162de36841f5 (patch) | |
| tree | 1e4e9387f83650de7d144bcc43c2e3fbeb549195 /clang-tools-extra/clang-tidy/misc | |
| parent | e6fcf7d372ca822b06112d92856895c2fce38878 (diff) | |
| download | bcm5719-llvm-50d7f4617f250a8f0dac565d273d162de36841f5.tar.gz bcm5719-llvm-50d7f4617f250a8f0dac565d273d162de36841f5.zip | |
[clang-tidy] Move user-defined matches to unnamed namespaces to prevent ODR violations.
llvm-svn: 239904
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc')
4 files changed, 15 insertions, 14 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp b/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp index fa589a4c759..6ccfb6ad52b 100644 --- a/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp @@ -21,7 +21,7 @@ using namespace clang::ast_matchers; namespace clang { -namespace ast_matchers { +namespace { AST_MATCHER_P(Expr, hasSideEffect, bool, CheckFunctionCalls) { const Expr *E = &Node; @@ -68,7 +68,7 @@ AST_MATCHER_P(Expr, hasSideEffect, bool, CheckFunctionCalls) { return isa<CXXNewExpr>(E) || isa<CXXDeleteExpr>(E) || isa<CXXThrowExpr>(E); } -} // namespace ast_matchers +} // namespace namespace tidy { diff --git a/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.cpp b/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.cpp index 01313c1a78a..95f1a689f0c 100644 --- a/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.cpp @@ -12,14 +12,14 @@ using namespace clang::ast_matchers; namespace clang { -namespace ast_matchers { +namespace { AST_MATCHER(CastExpr, isPointerToBoolean) { return Node.getCastKind() == CK_PointerToBoolean; } AST_MATCHER(QualType, isBoolean) { return Node->isBooleanType(); } -} // namespace ast_matchers +} // namespace namespace tidy { namespace misc { diff --git a/clang-tools-extra/clang-tidy/misc/UndelegatedConstructor.cpp b/clang-tools-extra/clang-tidy/misc/UndelegatedConstructor.cpp index 3fabbe69bb3..0390c235711 100644 --- a/clang-tools-extra/clang-tidy/misc/UndelegatedConstructor.cpp +++ b/clang-tools-extra/clang-tidy/misc/UndelegatedConstructor.cpp @@ -15,9 +15,9 @@ using namespace clang::ast_matchers; namespace clang { -namespace ast_matchers { -AST_MATCHER_P(Stmt, ignoringTemporaryExpr, internal::Matcher<Stmt>, - InnerMatcher) { +namespace { +AST_MATCHER_P(Stmt, ignoringTemporaryExpr, + ast_matchers::internal::Matcher<Stmt>, InnerMatcher) { const Stmt *E = &Node; for (;;) { // Temporaries with non-trivial dtors. @@ -38,12 +38,13 @@ AST_MATCHER_P(Stmt, ignoringTemporaryExpr, internal::Matcher<Stmt>, // Finds a node if it's a base of an already bound node. AST_MATCHER_P(CXXRecordDecl, baseOfBoundNode, std::string, ID) { - return Builder->removeBindings([&](const internal::BoundNodesMap &Nodes) { - const auto *Derived = Nodes.getNodeAs<CXXRecordDecl>(ID); - return Derived != &Node && !Derived->isDerivedFrom(&Node); - }); + return Builder->removeBindings( + [&](const ast_matchers::internal::BoundNodesMap &Nodes) { + const auto *Derived = Nodes.getNodeAs<CXXRecordDecl>(ID); + return Derived != &Node && !Derived->isDerivedFrom(&Node); + }); } -} // namespace ast_matchers +} // namespace namespace tidy { namespace misc { diff --git a/clang-tools-extra/clang-tidy/misc/UnusedRAIICheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedRAIICheck.cpp index 620fc514cfc..4ca89a33c39 100644 --- a/clang-tools-extra/clang-tidy/misc/UnusedRAIICheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/UnusedRAIICheck.cpp @@ -14,12 +14,12 @@ using namespace clang::ast_matchers; namespace clang { -namespace ast_matchers { +namespace { AST_MATCHER(CXXRecordDecl, hasNonTrivialDestructor) { // TODO: If the dtor is there but empty we don't want to warn either. return Node.hasDefinition() && Node.hasNonTrivialDestructor(); } -} // namespace ast_matchers +} // namespace namespace tidy { namespace misc { |

