diff options
author | Piotr Padlewski <piotr.padlewski@gmail.com> | 2016-05-31 15:26:56 +0000 |
---|---|---|
committer | Piotr Padlewski <piotr.padlewski@gmail.com> | 2016-05-31 15:26:56 +0000 |
commit | e93a73fb7aa49d04f1109e6c3c69530ea6d81d31 (patch) | |
tree | 11aca431300988da1967aee59494d6e2b06d4eb1 /clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp | |
parent | cfed2bf5881597a05a1abab446b96bb8d3adb33a (diff) | |
download | llvm-e93a73fb7aa49d04f1109e6c3c69530ea6d81d31.zip llvm-e93a73fb7aa49d04f1109e6c3c69530ea6d81d31.tar.gz llvm-e93a73fb7aa49d04f1109e6c3c69530ea6d81d31.tar.bz2 |
[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
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp')
-rw-r--r-- | clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp b/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp index 39eb7896..6a7dc6c 100644 --- a/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp @@ -33,12 +33,13 @@ void StaticAssertCheck::registerMatchers(MatchFinder *Finder) { if (!(getLangOpts().CPlusPlus11 || getLangOpts().C11)) return; - auto IsAlwaysFalse = expr(ignoringParenImpCasts( + auto IsAlwaysFalse = expr(anyOf(cxxBoolLiteral(equals(false)), integerLiteral(equals(0)), cxxNullPtrLiteralExpr(), gnuNullExpr())) - .bind("isAlwaysFalse"))); + .bind("isAlwaysFalse"); auto IsAlwaysFalseWithCast = ignoringParenImpCasts(anyOf( - IsAlwaysFalse, cStyleCastExpr(has(IsAlwaysFalse)).bind("castExpr"))); + IsAlwaysFalse, cStyleCastExpr(has(ignoringParenImpCasts(IsAlwaysFalse))) + .bind("castExpr"))); auto AssertExprRoot = anyOf( binaryOperator( anyOf(hasOperatorName("&&"), hasOperatorName("==")), |