[cfe-dev] [StaticAnalyzer] How to give hint on path execution
Artem Dergachev via cfe-dev
cfe-dev at lists.llvm.org
Mon May 8 10:08:01 PDT 2017
Unfortunately, allowing checkers to trigger an immediate inlining of a
function is quite tricky to implement, and we don't have a ready-made
mechanism for that (though some of the existing checkers could make use
of such functionality).
It might theoretically be possible, within a checker callback, to
manually construct an exploded graph node that represents entering a
stack frame of the callback function, and then addTransition() to such
node (similarly to how ExprEngine does that) and see what happens.
That'd be an interesting problem to tackle, and such mechanism would be
good to have.
Also, are you sure it is necessary to model the callback exactly in your
use case? Maybe a simple invalidation/escape pass would suffice to avoid
false positives?
On 5/7/17 11:03 PM, Paul Bert via cfe-dev wrote:
> Hi,
>
> I wrote a checker similar to the SimpleStreamChecker except that the
> close function that moves the state of the stream to released, takes
> a second parameter, a callback, for instance
>
> close(FILE *, mycallback).
>
> When the stream moves to release state, the callback is executed.
>
> The "close" function is defined externally so that the checker cannot
> reason on it except using the rules I give it in checkPostCall
> callback. How can I make the analyzer aware that the callback has to
> be executed when the state move to release?
>
> Thanks for any help,
>
> Paul
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
More information about the cfe-dev
mailing list