summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp b/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp
index 6b93d9c9253..8d63ec5ece0 100644
--- a/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp
@@ -83,11 +83,18 @@ void AssertSideEffectCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
}
void AssertSideEffectCheck::registerMatchers(MatchFinder *Finder) {
- auto ConditionWithSideEffect =
- hasCondition(hasDescendant(expr(hasSideEffect(CheckFunctionCalls))));
+ auto DescendantWithSideEffect =
+ hasDescendant(expr(hasSideEffect(CheckFunctionCalls)));
+ auto ConditionWithSideEffect = hasCondition(DescendantWithSideEffect);
Finder->addMatcher(
- stmt(anyOf(conditionalOperator(ConditionWithSideEffect),
- ifStmt(ConditionWithSideEffect))).bind("condStmt"),
+ stmt(
+ anyOf(conditionalOperator(ConditionWithSideEffect),
+ ifStmt(ConditionWithSideEffect),
+ unaryOperator(hasOperatorName("!"),
+ hasUnaryOperand(unaryOperator(
+ hasOperatorName("!"),
+ hasUnaryOperand(DescendantWithSideEffect))))))
+ .bind("condStmt"),
this);
}
OpenPOWER on IntegriCloud