diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2015-08-31 15:28:57 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2015-08-31 15:28:57 +0000 |
commit | bf89109013bc51868173de3d8c71d28989afd39e (patch) | |
tree | 434ce8b894754eef5a23ba04b53e09a7da674459 /clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp | |
parent | 54f3657448fd127fd00162058c9f1f56f966fc18 (diff) | |
download | llvm-bf89109013bc51868173de3d8c71d28989afd39e.zip llvm-bf89109013bc51868173de3d8c71d28989afd39e.tar.gz llvm-bf89109013bc51868173de3d8c71d28989afd39e.tar.bz2 |
Using an early return as it is more clear; NFC.
llvm-svn: 246447
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp')
-rw-r--r-- | clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp b/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp index e5aa86e..0828059 100644 --- a/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp @@ -30,44 +30,44 @@ void StaticAssertCheck::registerMatchers(MatchFinder *Finder) { // FIXME: I don't see why this checker couldn't also be interesting for // _Static_assert in C11, or static_assert if <assert.h> has been included, // but it is currently only enabled for C++11. Investigate. - if (getLangOpts().CPlusPlus11) { - auto IsAlwaysFalse = expr(ignoringParenImpCasts( - expr(anyOf(boolLiteral(equals(false)), integerLiteral(equals(0)), - nullPtrLiteralExpr(), gnuNullExpr())) - .bind("isAlwaysFalse"))); - auto IsAlwaysFalseWithCast = ignoringParenImpCasts(anyOf( - IsAlwaysFalse, cStyleCastExpr(has(IsAlwaysFalse)).bind("castExpr"))); - auto AssertExprRoot = - anyOf(binaryOperator( - anyOf(hasOperatorName("&&"), hasOperatorName("==")), - hasEitherOperand( - ignoringImpCasts(stringLiteral().bind("assertMSG"))), - anyOf(binaryOperator(hasEitherOperand(IsAlwaysFalseWithCast)), - anything())) - .bind("assertExprRoot"), - IsAlwaysFalse); - auto NonConstexprFunctionCall = - callExpr(hasDeclaration(functionDecl(unless(isConstexpr())))); - auto AssertCondition = - expr(anyOf(expr(ignoringParenCasts( - anyOf(AssertExprRoot, - unaryOperator(hasUnaryOperand( - ignoringParenCasts(AssertExprRoot)))))), - anything()), - unless(findAll(NonConstexprFunctionCall))) - .bind("condition"); - auto Condition = - anyOf(ignoringParenImpCasts(callExpr( - hasDeclaration(functionDecl(hasName("__builtin_expect"))), - hasArgument(0, AssertCondition))), - AssertCondition); - - Finder->addMatcher(stmt(anyOf(conditionalOperator(hasCondition(Condition)), - ifStmt(hasCondition(Condition))), - unless(isInTemplateInstantiation())) - .bind("condStmt"), - this); - } + if (!getLangOpts().CPlusPlus11) + return; + + auto IsAlwaysFalse = expr(ignoringParenImpCasts( + expr(anyOf(boolLiteral(equals(false)), integerLiteral(equals(0)), + nullPtrLiteralExpr(), gnuNullExpr())) + .bind("isAlwaysFalse"))); + auto IsAlwaysFalseWithCast = ignoringParenImpCasts(anyOf( + IsAlwaysFalse, cStyleCastExpr(has(IsAlwaysFalse)).bind("castExpr"))); + auto AssertExprRoot = anyOf( + binaryOperator( + anyOf(hasOperatorName("&&"), hasOperatorName("==")), + hasEitherOperand(ignoringImpCasts(stringLiteral().bind("assertMSG"))), + anyOf(binaryOperator(hasEitherOperand(IsAlwaysFalseWithCast)), + anything())) + .bind("assertExprRoot"), + IsAlwaysFalse); + auto NonConstexprFunctionCall = + callExpr(hasDeclaration(functionDecl(unless(isConstexpr())))); + auto AssertCondition = + expr( + anyOf(expr(ignoringParenCasts(anyOf( + AssertExprRoot, unaryOperator(hasUnaryOperand( + ignoringParenCasts(AssertExprRoot)))))), + anything()), + unless(findAll(NonConstexprFunctionCall))) + .bind("condition"); + auto Condition = + anyOf(ignoringParenImpCasts(callExpr( + hasDeclaration(functionDecl(hasName("__builtin_expect"))), + hasArgument(0, AssertCondition))), + AssertCondition); + + Finder->addMatcher(stmt(anyOf(conditionalOperator(hasCondition(Condition)), + ifStmt(hasCondition(Condition))), + unless(isInTemplateInstantiation())) + .bind("condStmt"), + this); } void StaticAssertCheck::check(const MatchFinder::MatchResult &Result) { |