summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.cpp b/clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.cpp
index 6e69f2a4e41..7c8a132e5e5 100644
--- a/clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.cpp
@@ -25,19 +25,20 @@ void InaccurateEraseCheck::registerMatchers(MatchFinder *Finder) {
return;
const auto CheckForEndCall = hasArgument(
- 1, anyOf(cxxConstructExpr(
- has(cxxMemberCallExpr(callee(cxxMethodDecl(hasName("end"))))
- .bind("InaccEndCall"))),
+ 1, anyOf(cxxConstructExpr(has(ignoringParenImpCasts(
+ cxxMemberCallExpr(callee(cxxMethodDecl(hasName("end"))))
+ .bind("InaccEndCall")))),
anything()));
Finder->addMatcher(
cxxMemberCallExpr(
on(hasType(namedDecl(matchesName("^::std::")))),
callee(cxxMethodDecl(hasName("erase"))), argumentCountIs(1),
- hasArgument(0, has(callExpr(callee(functionDecl(matchesName(
+ hasArgument(0, has(ignoringParenImpCasts(
+ callExpr(callee(functionDecl(matchesName(
"^::std::(remove(_if)?|unique)$"))),
CheckForEndCall)
- .bind("InaccAlgCall"))),
+ .bind("InaccAlgCall")))),
unless(isInTemplateInstantiation()))
.bind("InaccErase"),
this);
OpenPOWER on IntegriCloud