<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
The only way to generate nodes from the same predecessor in two
different checkers is to specify the wrong predecessor explicitly -
eg., C.addTransition(State, C.getPredecessor()->getFirstPred());.<br>
<br>
Normally C.getPredecessor() is chosen from the frontier nodes of the
NodeBuilder, which are the nodes generated by the previous checker.
So different checkers are chained together.<br>
<br>
Because sink nodes don't get put into the frontier, they don't get
sent to other checkers.<br>
<br>
So i think we agree upon how it's intended to work, but i don't
think i've observed any deviations from this behavior; could you
give a concrete example?<br>
<br>
<div class="moz-cite-prefix">On 10/28/19 6:43 AM, Balázs Kéri via
cfe-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAGyX=J=WaU=XRTe14ywnCZKVVO71SVuPOW-O41JVBpmKavBuKQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">Hi!
<div>As I observed, if a (path sensitive) checker generates a
sink node and another checker (or the same) generates other
non-sink nodes (from the same predecessor) the analysis
continues on the non-sink paths. This is not always the wanted
operation, for example NoReturnFunctionChecker should stop
analysis on all paths. Is it possible to achieve this behavior
in a checker? Or we should change the code to stop analysis on
all descendant nodes if (at least) one of them is sink node?</div>
<div><br>
</div>
<div>Balázs</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
cfe-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>