NoQ added a comment. Looks great!
I suspect you'll catch a few crashes/assertion failures if you run this on real-world code, due to various parts of the static analyzer being startled by the new thing, so I really recommend doing this. ================ Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:338 + + void dumpToStream(raw_ostream &os) const override; + ---------------- `LLVM_DUMP_METHOD`? ================ Comment at: clang/lib/StaticAnalyzer/Core/SValBuilder.cpp:104 + QualType type) { + assert(operand); + assert(!Loc::isLocType(type)); ---------------- steakhal wrote: > I think we should assert that we expect only `UO_Minus` (-), `UO_Not` (~). > The rest of the `UO_*` doesn't seem to be relevant anyway: PostInc, PostDec, > PreInc, PreDec, AddrOf, Deref, Plus, LNot, Real, Imag, Extension, Coawait. Actually, let's put such assertion in the constructor. The earlier we catch the problem the better. ================ Comment at: clang/lib/StaticAnalyzer/Core/SymbolManager.cpp:493 + case SymExpr::UnarySymExprKind: + KnownLive = isLive(cast<UnarySymExpr>(sym)->getOperand()); + break; ---------------- Excellent! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125318/new/ https://reviews.llvm.org/D125318 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits