summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2015-06-17 13:11:37 +0000
committerAlexander Kornienko <alexfh@google.com>2015-06-17 13:11:37 +0000
commit50d7f4617f250a8f0dac565d273d162de36841f5 (patch)
tree1e4e9387f83650de7d144bcc43c2e3fbeb549195 /clang-tools-extra/clang-tidy
parente6fcf7d372ca822b06112d92856895c2fce38878 (diff)
downloadbcm5719-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')
-rw-r--r--clang-tools-extra/clang-tidy/google/ExplicitMakePairCheck.cpp5
-rw-r--r--clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp4
-rw-r--r--clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp4
-rw-r--r--clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.cpp4
-rw-r--r--clang-tools-extra/clang-tidy/misc/UndelegatedConstructor.cpp17
-rw-r--r--clang-tools-extra/clang-tidy/misc/UnusedRAIICheck.cpp4
-rw-r--r--clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp6
-rw-r--r--clang-tools-extra/clang-tidy/readability/ShrinkToFitCheck.cpp10
8 files changed, 25 insertions, 29 deletions
diff --git a/clang-tools-extra/clang-tidy/google/ExplicitMakePairCheck.cpp b/clang-tools-extra/clang-tidy/google/ExplicitMakePairCheck.cpp
index c7034828eaf..f69590650bb 100644
--- a/clang-tools-extra/clang-tidy/google/ExplicitMakePairCheck.cpp
+++ b/clang-tools-extra/clang-tidy/google/ExplicitMakePairCheck.cpp
@@ -15,12 +15,11 @@
using namespace clang::ast_matchers;
namespace clang {
-
-namespace ast_matchers {
+namespace {
AST_MATCHER(DeclRefExpr, hasExplicitTemplateArgs) {
return Node.hasExplicitTemplateArgs();
}
-} // namespace ast_matchers
+} // namespace
namespace tidy {
namespace google {
diff --git a/clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp b/clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
index 6b48a800ab2..c98b66f04d7 100644
--- a/clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
+++ b/clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
@@ -15,11 +15,11 @@
using namespace clang::ast_matchers;
namespace clang {
-namespace ast_matchers {
+namespace {
AST_MATCHER(NamespaceDecl, isAnonymousNamespace) {
return Node.isAnonymousNamespace();
}
-} // namespace ast_matchers
+} // namespace
namespace tidy {
namespace google {
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 {
diff --git a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
index 2734b25c282..4a1f7e5ab1a 100644
--- a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
@@ -38,16 +38,14 @@ static bool isContainer(llvm::StringRef ClassName) {
}
namespace clang {
-namespace ast_matchers {
+namespace {
AST_MATCHER(QualType, isBoolType) { return Node->isBooleanType(); }
AST_MATCHER(NamedDecl, stlContainer) {
return isContainer(Node.getQualifiedNameAsString());
}
-} // namespace ast_matchers
-} // namespace clang
+} // namespace
-namespace clang {
namespace tidy {
namespace readability {
diff --git a/clang-tools-extra/clang-tidy/readability/ShrinkToFitCheck.cpp b/clang-tools-extra/clang-tidy/readability/ShrinkToFitCheck.cpp
index 9c159ff1785..bbaec7a8862 100644
--- a/clang-tools-extra/clang-tidy/readability/ShrinkToFitCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ShrinkToFitCheck.cpp
@@ -15,7 +15,9 @@
using namespace clang::ast_matchers;
-static bool isShrinkableContainer(llvm::StringRef ClassName) {
+namespace clang {
+namespace {
+bool isShrinkableContainer(llvm::StringRef ClassName) {
static const char *Shrinkables[] = {
"std::basic_string",
"std::deque",
@@ -25,15 +27,11 @@ static bool isShrinkableContainer(llvm::StringRef ClassName) {
ClassName);
}
-namespace clang {
-namespace ast_matchers {
AST_MATCHER(NamedDecl, stlShrinkableContainer) {
return isShrinkableContainer(Node.getQualifiedNameAsString());
}
-} // namespace ast_matchers
-} // namespace clang
+} // namespace
-namespace clang {
namespace tidy {
namespace readability {
OpenPOWER on IntegriCloud