summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/misc/SizeofContainerCheck.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc/SizeofContainerCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/misc/SizeofContainerCheck.cpp49
1 files changed, 0 insertions, 49 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/SizeofContainerCheck.cpp b/clang-tools-extra/clang-tidy/misc/SizeofContainerCheck.cpp
deleted file mode 100644
index de4e8ad1b33..00000000000
--- a/clang-tools-extra/clang-tidy/misc/SizeofContainerCheck.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//===--- SizeofContainerCheck.cpp - clang-tidy-----------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "SizeofContainerCheck.h"
-#include "clang/AST/ASTContext.h"
-#include "clang/ASTMatchers/ASTMatchFinder.h"
-
-using namespace clang::ast_matchers;
-
-namespace clang {
-namespace tidy {
-namespace misc {
-
-void SizeofContainerCheck::registerMatchers(MatchFinder *Finder) {
- Finder->addMatcher(
- expr(unless(isInTemplateInstantiation()),
- expr(sizeOfExpr(has(ignoringParenImpCasts(
- expr(hasType(hasCanonicalType(hasDeclaration(cxxRecordDecl(
- matchesName("^(::std::|::string)"),
- unless(matchesName("^::std::(bitset|array)$")),
- hasMethod(cxxMethodDecl(hasName("size"), isPublic(),
- isConst())))))))))))
- .bind("sizeof"),
- // Ignore ARRAYSIZE(<array of containers>) pattern.
- unless(hasAncestor(binaryOperator(
- anyOf(hasOperatorName("/"), hasOperatorName("%")),
- hasLHS(ignoringParenCasts(sizeOfExpr(expr()))),
- hasRHS(ignoringParenCasts(equalsBoundNode("sizeof"))))))),
- this);
-}
-
-void SizeofContainerCheck::check(const MatchFinder::MatchResult &Result) {
- const auto *SizeOf =
- Result.Nodes.getNodeAs<UnaryExprOrTypeTraitExpr>("sizeof");
-
- auto Diag =
- diag(SizeOf->getLocStart(), "sizeof() doesn't return the size of the "
- "container; did you mean .size()?");
-}
-
-} // namespace misc
-} // namespace tidy
-} // namespace clang
OpenPOWER on IntegriCloud