================
@@ -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:
Thank you for the explanation, that was helpful!
Perhaps dumb question: would it make more sense to have the cast checks in
`isSameComparisonOperand()` single-step through the casts to find matching
ones? Because it seems a bit odd that inserting a Noop cast in one node but not
the other would mean they're automatically different comparison operands.
https://github.com/llvm/llvm-project/pull/149972
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits