steakhal accepted this revision. steakhal added a comment. This revision is now accepted and ready to land.
Still looks great. ================ Comment at: clang/test/Analysis/svalbuilder-simplify-compound-svals.cpp:75 + if (b * b == 1) + ; // no-crash (assertion should not be violated) + } ---------------- martong wrote: > steakhal wrote: > > I guess, this statement should not be reachable. > > Please demonstrate it by using the `clang_analyzer_WarnIfReached()`. > Actually, L72 simplifies to `1 != b`, L73 simplifies to the same, L74 is `b ^ > 2 == 1`. And this system has a solution: `b == -1` satisfies both L72 and L74 > conditions. > So, this line is reachable, correctly and I've updated the test case like so. > > Note that, however, the ConstraintAssignor is not smart enough to deduce that > `b == -1`. I have a WIP branch to accomplish that [[ > https://github.com/martong/llvm-project/commit/ed7af2938789c8d2efea7f21b37c6da2d3580d9e > | here ]]. Uh, you are right. Thanks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103317/new/ https://reviews.llvm.org/D103317 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits