aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
diff options
context:
space:
mode:
authorFlorian Gross <fgross@noexcept.net>2017-06-03 10:13:55 +0000
committerFlorian Gross <fgross@noexcept.net>2017-06-03 10:13:55 +0000
commitda197aab638df322c97d5da2e83cf9510de0a657 (patch)
treed3dc0a611b9e34834543f6f0fa352b6edb24b5e6 /clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
parenta803d5b8b0f8a0694016414f1c14d2501429c592 (diff)
downloadllvm-da197aab638df322c97d5da2e83cf9510de0a657.zip
llvm-da197aab638df322c97d5da2e83cf9510de0a657.tar.gz
llvm-da197aab638df322c97d5da2e83cf9510de0a657.tar.bz2
[clang-tidy] Make misc-static-assert accept assert(!"msg")
Added negated string literals to the set of IsAlwaysFalse expressions to avoid flagging of assert(!"msg"). Differential Revision: http://reviews.llvm.org/D33827 llvm-svn: 304657
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp b/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
index a0e3222..77fb58d 100644
--- a/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
@@ -33,9 +33,11 @@ void StaticAssertCheck::registerMatchers(MatchFinder *Finder) {
if (!(getLangOpts().CPlusPlus11 || getLangOpts().C11))
return;
+ auto NegatedString = unaryOperator(
+ hasOperatorName("!"), hasUnaryOperand(ignoringImpCasts(stringLiteral())));
auto IsAlwaysFalse =
expr(anyOf(cxxBoolLiteral(equals(false)), integerLiteral(equals(0)),
- cxxNullPtrLiteralExpr(), gnuNullExpr()))
+ cxxNullPtrLiteralExpr(), gnuNullExpr(), NegatedString))
.bind("isAlwaysFalse");
auto IsAlwaysFalseWithCast = ignoringParenImpCasts(anyOf(
IsAlwaysFalse, cStyleCastExpr(has(ignoringParenImpCasts(IsAlwaysFalse)))