[clang] [analyzer] Fix unary/binary op support for SMT symbolic execution (PR #205078)

Balázs Benics via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 29 03:13:45 PDT 2026


================
@@ -281,9 +290,8 @@ class SMTConstraintManager : public clang::ento::SimpleConstraintManager {
     if (const SymbolCast *SC = dyn_cast<SymbolCast>(Sym))
       return canReasonAbout(SVB.makeSymbolVal(SC->getOperand()));
 
-    // UnarySymExpr support is not yet implemented in the Z3 wrapper.
-    if (isa<UnarySymExpr>(Sym)) {
-      return false;
+    if (const UnarySymExpr *USE = dyn_cast<UnarySymExpr>(Sym)) {
----------------
steakhal wrote:

The type was already spelled out on the line.
```suggestion
    if (const auto *USE = dyn_cast<UnarySymExpr>(Sym)) {
```

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


More information about the cfe-commits mailing list