// SPDX-License-Identifier: GPL-2.0-only | |
/// | |
/// Condition !A || A && B is equivalent to !A || B. | |
/// | |
// Confidence: High | |
// Copyright: (C) 2020 Denis Efremov ISPRAS | |
// Options: --no-includes --include-headers | |
virtual patch | |
virtual context | |
virtual org | |
virtual report | |
@r depends on !patch@ | |
expression A, B; | |
position p; | |
@@ | |
* !A || (A &&@p B) | |
@depends on patch@ | |
expression A, B; | |
@@ | |
!A || | |
- (A && B) | |
+ B | |
@script:python depends on report@ | |
p << r.p; | |
@@ | |
coccilib.report.print_report(p[0], "WARNING !A || A && B is equivalent to !A || B") | |
@script:python depends on org@ | |
p << r.p; | |
@@ | |
coccilib.org.print_todo(p[0], "WARNING !A || A && B is equivalent to !A || B") |