[clang] [Sema] Fix -Wunreachable-code false negative when operands differ only by implicit casts (PR #149972)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 23 06:07:57 PDT 2025
================
@@ -1160,8 +1160,11 @@ class CFGBuilder {
return {};
// Check that it is the same variable on both sides.
- if (!Expr::isSameComparisonOperand(DeclExpr1, DeclExpr2))
- return {};
+ if (!Expr::isSameComparisonOperand(DeclExpr1, DeclExpr2)) {
+ if (!Expr::isSameComparisonOperand(DeclExpr1->IgnoreParenImpCasts(),
+ DeclExpr2->IgnoreParenImpCasts()))
+ return {};
----------------
AaronBallman wrote:
This doesn't seem correct to me; `isSameComparisonOperand` explicitly handles implicit cast expressions, so stripping them off here seems like the wrong place to handle this.
https://github.com/llvm/llvm-project/pull/149972
More information about the cfe-commits
mailing list