[clang-tools-extra] [clang-tidy] Fix false negative for binary logical expressions for tw… (PR #230846)

Niels Dekker via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 12 02:39:52 PDT 2026


================
@@ -203,14 +203,18 @@ infrastructure are described first, followed by tool-specific sections.
   the pointer points to an incomplete (forward-declared) type.
 
 - Improved {doc}`bugprone-redundant-branch-condition
-  <clang-tidy/checks/bugprone/redundant-branch-condition>` check by fixing
-  false positives when the condition variable is changed later in a loop that
-  encloses the inner `if`.
+  <clang-tidy/checks/bugprone/redundant-branch-condition>` check:
+  
+    - Fixed false positives when the condition variable is changed later in a loop that
+      encloses the inner `if`.
+
+    - Fixed false negatives when there are two declaration statement in `if` with `&&` 
+      it skips the second one bind with first one only previously.
----------------
N-Dekker wrote:

@Abhay13332 Thank you very much for addressing my issue so quickly! 

This sentence is about my example case, right? It's about the false negative on `if (x && y) { if (y) ... }`, right? I'm sorry I find it hard to grasp:

> when there are two declaration statement in `if` with `&&` it skips the second one bind with first one only previously.

What is a "two declaration statement"? Does that occur with `if (x && y) { if (y) ... }`? And then, what does it mean to skip "the second one bind with first one only previously"?


https://github.com/llvm/llvm-project/pull/230846


More information about the cfe-commits mailing list