[llvm-branch-commits] [clang] [MC/DC] Enable nested expressions (PR #125413)

NAKAMURA Takumi via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Feb 28 22:50:45 PST 2025


================
@@ -228,45 +228,46 @@ struct MapRegionCounters : public RecursiveASTVisitor<MapRegionCounters> {
   /// The stacks are also used to find error cases and notify the user.  A
   /// standard logical operator nest for a boolean expression could be in a form
   /// similar to this: "x = a && b && c && (d || f)"
-  unsigned NumCond = 0;
-  bool SplitNestedLogicalOp = false;
-  SmallVector<const Stmt *, 16> NonLogOpStack;
-  SmallVector<const BinaryOperator *, 16> LogOpStack;
+  struct DecisionState {
+    llvm::DenseSet<const Stmt *> Leaves; // Not BinOp
+    const Expr *DecisionExpr;            // Root
+    bool Split;
----------------
chapuni wrote:

Done.

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


More information about the llvm-branch-commits mailing list