Author: fgross Date: Sat Jun 3 05:13:55 2017 New Revision: 304657 URL: http://llvm.org/viewvc/llvm-project?rev=304657&view=rev Log: [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 Modified: clang-tools-extra/trunk/clang-tidy/misc/StaticAssertCheck.cpp clang-tools-extra/trunk/test/clang-tidy/misc-static-assert.cpp Modified: clang-tools-extra/trunk/clang-tidy/misc/StaticAssertCheck.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/StaticAssertCheck.cpp?rev=304657&r1=304656&r2=304657&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-tidy/misc/StaticAssertCheck.cpp (original) +++ clang-tools-extra/trunk/clang-tidy/misc/StaticAssertCheck.cpp Sat Jun 3 05:13:55 2017 @@ -33,9 +33,11 @@ void StaticAssertCheck::registerMatchers 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))) Modified: clang-tools-extra/trunk/test/clang-tidy/misc-static-assert.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/misc-static-assert.cpp?rev=304657&r1=304656&r2=304657&view=diff ============================================================================== --- clang-tools-extra/trunk/test/clang-tidy/misc-static-assert.cpp (original) +++ clang-tools-extra/trunk/test/clang-tidy/misc-static-assert.cpp Sat Jun 3 05:13:55 2017 @@ -76,6 +76,9 @@ int main() { // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: found assert() that could be // CHECK-FIXES: {{^ }}static_assert(ZERO_MACRO, ""); + assert(!"Don't report me!"); + // CHECK-FIXES: {{^ }}assert(!"Don't report me!"); + assert(0 && "Don't report me!"); // CHECK-FIXES: {{^ }}assert(0 && "Don't report me!"); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits