[Static Analyzer] New checker hook: checkInitialState

Gabor Kozar via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 30 17:28:40 PST 2015


This patch proposal is now on Phabricator: http://reviews.llvm.org/D15090 - let's continue this discussion there.

> At a glance, I wonder if it's worth it to provide a CheckerContext
inside this callback and then handle transitions properly (which would
allow the checker to split the program state at the very beginning of
the function). I cannot instantly think of a use-case (hmm, maybe
somebody would like to eagerly discriminate between a NULL and non-NULL
pointer argument of the function), but at the same time I don't see any
obvious problems with adding it, especially because it'd be hard to
change the API when the use-case appears.

Artem: thanks for your comment! I've added it to the Phabricator
summary, along with my reaction to it. I think your proposal is good,
I've started working on implementing it, but I also want to hear what
others (Anna, Jordan) think.

---
Best regards,

Gábor 'ShdNx' Kozár http://gaborkozar.me



On Mon, Nov 30, 2015, at 16:38, Artem Dergachev via cfe-commits wrote:
> Hmm. I once thought about creating a 'checkBeginAnalysis()' callback
> to match 'checkEndAnalysis()'; this one's more powerful, and matches
> 'checkEndFunction()' in a similar manner.
>
> At a glance, I wonder if it's worth it to provide a CheckerContext
> inside this callback and then handle transitions properly (which would
> allow the checker to split the program state at the very beginning of
> the function). I cannot instantly think of a use-case (hmm, maybe
> somebody would like to eagerly discriminate between a NULL and non-
> NULL pointer argument of the function), but at the same time I don't
> see any obvious problems with adding it, especially because it'd be
> hard to change the API when the use-case appears.
> _________________________________________________
> cfe-commits mailing list cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151201/eb112acc/attachment.html>


More information about the cfe-commits mailing list