baloghadamsoftware marked 3 inline comments as done.
baloghadamsoftware added inline comments.


================
Comment at: clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp:138-139
+                              SVB.getConditionType());
+    assert(Less.getAs<DefinedSVal>() &&
+           "Symbol comparison must be a `DefinedSVal`");
+    StateFound = StateFound->assume(Less.castAs<DefinedSVal>(), true);
----------------
NoQ wrote:
> Is this because you only have atomic conjured symbols in your map? Because 
> otherwise the assertion will fail every time we reach a maximum symbol 
> complexity during `evalBinOp`.
> 
> I'd rather make the code defensive and handle the `UnknownVal` case. That 
> said, you can be sure it's not `UndefinedVal`.
In the map we either have atomic conjured symbols or an atomic conjured symbol 
plus/minus a concrete integer. It should not reach a maximum symbol complexity. 
The assertion is a copy from `IteratorModeling`.


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

https://reviews.llvm.org/D70818



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to