NoQ added a comment. Aha, yup, thx!
Do you plan to centralize other code paths on which you conjure symbols? 'Cause i still believe that given that we now support C++ (our prvalues are now properly materialized) (most of the time), you should be able to remove support for symbol-like iterators, and then replace your position symbols with `SymbolMetadata`. ================ Comment at: lib/StaticAnalyzer/Checkers/IteratorChecker.cpp:1929-1930 + + auto &SymMgr = State->getSymbolManager(); + auto Sym = SymMgr.conjureSymbol(E, LCtx, T, BlockCount, "end"); + State = assumeNoOverflow(State, Sym, 4); ---------------- This is a bit more `auto` than allowed by [[ https://llvm.org/docs/CodingStandards.html#use-auto-type-deduction-to-make-code-more-readable | our coding standards ]] (it pretty much disallows `auto` unless it's some sort of `dyn_cast` (`getAs`) or an iterator. ================ Comment at: lib/StaticAnalyzer/Checkers/IteratorChecker.cpp:2247 +ProgramStateRef ensureNonNegativeDiff(ProgramStateRef State, SymbolRef Sym1, + SymbolRef Sym2) { ---------------- This looks like a new feature. Is it testable? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61136/new/ https://reviews.llvm.org/D61136 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits