[PATCH] D22862: [analyzer] Fix for PR15623: eliminate unwanted ProgramState checker data propagation.
Anton Yartsev via cfe-commits
cfe-commits at lists.llvm.org
Sat Aug 13 18:32:36 PDT 2016
ayartsev added a comment.
@zaks.anna, sorry for the noise about the "misc-ps-region-store.m" test, my mistake.
In https://reviews.llvm.org/D22862#508674, @NoQ wrote:
> Hmm. The test in `unwanted-programstate-data-propagation.c` passes on my machine even without the patch, and the return value on the respective path is correctly represented as `(conj_$6{void *}) != 0U`, which comes from the `evalCast()` call in `VisitLogicalExpr()` and is the default behavior of `evalCast()` for Loc to pointer casts. There seems to be something amiss.
Hm, updated to trunk, now the test passes without the patch. Changing "_Bool" to "int" in the test reproduces the issue.
In https://reviews.llvm.org/D22862#501315, @dcoughlin wrote:
> Does this seem reasonable?
Thanks for the idea, working on the solution.
@dcoughlin, @NoQ, could you, please, tell, how you get dumps of symbolic expressions and constraints like "(conj_$6{void *}) != 0U"? Tried different debug.* checkers and clang_analyzer_explain() but failed.
https://reviews.llvm.org/D22862
More information about the cfe-commits
mailing list