martong added a comment. Giving it some more thought, the `SymCastMap = Map<SymbolRef, CastMap>` should be keyed as well with an equivalence class : `SymCastMap = Map<EquivalenceClass, CastMap>`. This is the only way to use the equivalence info correctly when we process the casts.
================ Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:889-890 +REGISTER_MAP_FACTORY_WITH_PROGRAMSTATE(CastMap, uint32_t /*bitwidth*/, RangeSet) +REGISTER_MAP_WITH_PROGRAMSTATE(SymCastMap, SymbolRef, CastMap) + ---------------- NoQ wrote: > These maps will need to be cleaned up when symbols become dead (as in > `RangeConstraintManager::removeDeadBindings()`). Yes, the same way as we clean up e.g. the `DisequalityMap`. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103096/new/ https://reviews.llvm.org/D103096 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits