From e93a73fb7aa49d04f1109e6c3c69530ea6d81d31 Mon Sep 17 00:00:00 2001 From: Piotr Padlewski Date: Tue, 31 May 2016 15:26:56 +0000 Subject: [ASTMatchers] Added ignoringParenImpCasts to has matchers has matcher changed behaviour, and now it matches "as is" and doesn't skip implicit and paren casts http://reviews.llvm.org/D20801 llvm-svn: 271289 --- clang-tools-extra/clang-tidy/misc/SuspiciousStringCompareCheck.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'clang-tools-extra/clang-tidy/misc/SuspiciousStringCompareCheck.cpp') diff --git a/clang-tools-extra/clang-tidy/misc/SuspiciousStringCompareCheck.cpp b/clang-tools-extra/clang-tidy/misc/SuspiciousStringCompareCheck.cpp index f364d118095..9315ff5fb2f 100644 --- a/clang-tools-extra/clang-tidy/misc/SuspiciousStringCompareCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/SuspiciousStringCompareCheck.cpp @@ -156,8 +156,9 @@ void SuspiciousStringCompareCheck::registerMatchers(MatchFinder *Finder) { // Detect comparison to invalid constant: 'strcmp() == -1'. const auto InvalidLiteral = ignoringParenImpCasts( anyOf(integerLiteral(unless(equals(0))), - unaryOperator(hasOperatorName("-"), - has(integerLiteral(unless(equals(0))))), + unaryOperator( + hasOperatorName("-"), + has(ignoringParenImpCasts(integerLiteral(unless(equals(0)))))), characterLiteral(), cxxBoolLiteral())); Finder->addMatcher(binaryOperator(matchers::isComparisonOperator(), -- cgit v1.2.3