[PATCH] D103317: [Analyzer][engine][solver] Simplify complex constraints

Denys Petrov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 2 03:47:57 PDT 2021


ASDenysPetrov added inline comments.


================
Comment at: clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp:1155-1156
 
-    // TODO: Support SymbolCast. Support IntSymExpr when/if we actually
-    // start producing them.
 
----------------
vsavchenko wrote:
> Do we actually produce them?
You can met SymbolCast here if `evalCast` produced it.
See `SValBuilder::evalCastSubKind(nonloc::SymbolVal...)`:
```
    if (!Loc::isLocType(CastTy))
      if (!IsUnknownOriginalType || !CastTy->isFloatingType() ||
          T->isFloatingType())
        return makeNonLoc(SE, T, CastTy);
```
Also my patch will produce a lot of integral cast symbols D103096. You are welcome to examine it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103317/new/

https://reviews.llvm.org/D103317



More information about the cfe-commits mailing list