[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-22 Thread via cfe-commits
martinboehme wrote: Needed to revert this because it turns out that, embarrassingly, I was locally running my tests in `Release` mode, i.e. with `assert()` disabled. I'm working on a PR to re-land this that fixes the assertion failures that were occurring.

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-22 Thread via cfe-commits
martinboehme wrote: This is causing buildbot failures. Reverting. https://github.com/llvm/llvm-project/pull/89213 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-22 Thread via cfe-commits
https://github.com/martinboehme closed https://github.com/llvm/llvm-project/pull/89213 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-22 Thread via cfe-commits
https://github.com/martinboehme updated https://github.com/llvm/llvm-project/pull/89213 >From e6f729dff29cb74ca0599ba486561d04963c1ac5 Mon Sep 17 00:00:00 2001 From: Martin Braenne Date: Thu, 18 Apr 2024 10:50:40 + Subject: [PATCH 1/4] [clang][dataflow] Model conditional operator

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-22 Thread via cfe-commits
@@ -657,17 +658,22 @@ class TransferVisitor : public ConstStmtVisitor { } void VisitConditionalOperator(const ConditionalOperator *S) { -// FIXME: Revisit this once flow conditions are added to the framework. For -// `a = b ? c : d` we can add `b => a == c && !b

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-22 Thread via cfe-commits
https://github.com/martinboehme updated https://github.com/llvm/llvm-project/pull/89213 >From d4205b37d9ba3cecd7cd947a188ec84e9afec899 Mon Sep 17 00:00:00 2001 From: Martin Braenne Date: Thu, 18 Apr 2024 10:50:40 + Subject: [PATCH 1/4] [clang][dataflow] Model conditional operator

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-19 Thread Gábor Horváth via cfe-commits
@@ -657,17 +658,22 @@ class TransferVisitor : public ConstStmtVisitor { } void VisitConditionalOperator(const ConditionalOperator *S) { -// FIXME: Revisit this once flow conditions are added to the framework. For -// `a = b ? c : d` we can add `b => a == c && !b

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-19 Thread Gábor Horváth via cfe-commits
https://github.com/Xazax-hun edited https://github.com/llvm/llvm-project/pull/89213 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-19 Thread Gábor Horváth via cfe-commits
https://github.com/Xazax-hun approved this pull request. https://github.com/llvm/llvm-project/pull/89213 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-19 Thread via cfe-commits
https://github.com/martinboehme edited https://github.com/llvm/llvm-project/pull/89213 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-19 Thread via cfe-commits
https://github.com/martinboehme edited https://github.com/llvm/llvm-project/pull/89213 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-19 Thread via cfe-commits
@@ -657,17 +658,22 @@ class TransferVisitor : public ConstStmtVisitor { } void VisitConditionalOperator(const ConditionalOperator *S) { -// FIXME: Revisit this once flow conditions are added to the framework. For -// `a = b ? c : d` we can add `b => a == c && !b

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-19 Thread via cfe-commits
@@ -657,17 +658,25 @@ class TransferVisitor : public ConstStmtVisitor { } void VisitConditionalOperator(const ConditionalOperator *S) { -// FIXME: Revisit this once flow conditions are added to the framework. For -// `a = b ? c : d` we can add `b => a == c && !b

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-19 Thread via cfe-commits
https://github.com/martinboehme updated https://github.com/llvm/llvm-project/pull/89213 >From d4205b37d9ba3cecd7cd947a188ec84e9afec899 Mon Sep 17 00:00:00 2001 From: Martin Braenne Date: Thu, 18 Apr 2024 10:50:40 + Subject: [PATCH 1/3] [clang][dataflow] Model conditional operator

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread Gábor Horváth via cfe-commits
@@ -657,17 +658,22 @@ class TransferVisitor : public ConstStmtVisitor { } void VisitConditionalOperator(const ConditionalOperator *S) { -// FIXME: Revisit this once flow conditions are added to the framework. For -// `a = b ? c : d` we can add `b => a == c && !b

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread Gábor Horváth via cfe-commits
@@ -657,17 +658,25 @@ class TransferVisitor : public ConstStmtVisitor { } void VisitConditionalOperator(const ConditionalOperator *S) { -// FIXME: Revisit this once flow conditions are added to the framework. For -// `a = b ? c : d` we can add `b => a == c && !b

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread via cfe-commits
https://github.com/martinboehme edited https://github.com/llvm/llvm-project/pull/89213 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread via cfe-commits
@@ -657,17 +658,22 @@ class TransferVisitor : public ConstStmtVisitor { } void VisitConditionalOperator(const ConditionalOperator *S) { -// FIXME: Revisit this once flow conditions are added to the framework. For -// `a = b ? c : d` we can add `b => a == c && !b

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread via cfe-commits
https://github.com/martinboehme updated https://github.com/llvm/llvm-project/pull/89213 >From d4205b37d9ba3cecd7cd947a188ec84e9afec899 Mon Sep 17 00:00:00 2001 From: Martin Braenne Date: Thu, 18 Apr 2024 10:50:40 + Subject: [PATCH 1/2] [clang][dataflow] Model conditional operator

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread Yitzhak Mandelbaum via cfe-commits
@@ -5243,6 +5243,67 @@ TEST(TransferTest, BinaryOperatorComma) { }); } +TEST(TransferTest, ConditionalOperatorValue) { + std::string Code = R"( +void target(bool Cond, bool B1, bool B2) { + bool JoinSame = Cond ? B1 : B1; + bool JoinDifferent = Cond ? B1

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread Yitzhak Mandelbaum via cfe-commits
@@ -657,17 +658,22 @@ class TransferVisitor : public ConstStmtVisitor { } void VisitConditionalOperator(const ConditionalOperator *S) { -// FIXME: Revisit this once flow conditions are added to the framework. For -// `a = b ? c : d` we can add `b => a == c && !b

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand edited https://github.com/llvm/llvm-project/pull/89213 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/89213 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang-analysis Author: None (martinboehme) Changes --- Full diff: https://github.com/llvm/llvm-project/pull/89213.diff 7 Files Affected: - (modified) clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h (+15) - (modified)

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: None (martinboehme) Changes --- Full diff: https://github.com/llvm/llvm-project/pull/89213.diff 7 Files Affected: - (modified) clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h (+15) - (modified)

[clang] [clang][dataflow] Model conditional operator correctly. (PR #89213)

2024-04-18 Thread via cfe-commits
https://github.com/martinboehme created https://github.com/llvm/llvm-project/pull/89213 None >From d4205b37d9ba3cecd7cd947a188ec84e9afec899 Mon Sep 17 00:00:00 2001 From: Martin Braenne Date: Thu, 18 Apr 2024 10:50:40 + Subject: [PATCH] [clang][dataflow] Model conditional operator