<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I’m still not exactly sure what are you doing,<div class="">but you can store all the information you need in a vector inside the visitor,</div><div class="">and then iterate over it in the callback for the last node.</div><div class="">Is that what you’ve tried originally? Where does it crash?<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 16, 2018, at 10:22 AM, Csaba Dabis <<a href="mailto:dabis.csaba98@gmail.com" class="">dabis.csaba98@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class="">The current way of bug reporting:<div class="">---</div><div class=""><div class="">1 Assuming 'i' is not equal to 1</div><div class="">----</div><div class="">2 Assuming 'i' is not equal to 2</div><div class="">3 Taking false branch</div><div class="">4 Taking false branch</div><div class="">---</div></div><div class=""><br class=""></div><div class="">If I would like to hook extra information in the linear backwards way, this is going to be like the following:</div><div class="">---</div><div class=""><div class="">1 Assuming 'i' is not equal to 1</div><div class="">----</div><div class="">2 Knowing 'i' is not equal to 2</div><div class="">3 Knowing 'i' is not equal to 1</div><div class="">4 Assuming 'i' is not equal to [1, 2]</div><div class="">---</div></div><div class=""><br class=""></div><div class="">And actually the proper approach would be:</div><div class="">---</div><div class=""><div class="">1 Assuming 'i' is not equal to 1</div><div class="">---</div><div class="">2 Assuming 'i' is not equal to 2</div><div class="">3 Knowing 'i' is not equal to [1, 2]</div><div class="">4 Knowing 'i' is not equal to [1, 2]</div><div class="">---<br class=""></div></div></div></div></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">George Karpenkov <<a href="mailto:ekarpenkov@apple.com" class="">ekarpenkov@apple.com</a>> ezt írta (időpont: 2018. nov. 16., P, 19:04):<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Going forward is ambiguous, as there are many leafs, but only one root.<br class="">
What are you trying to achieve? Going backwards should never be a problem.<br class="">
<br class="">
> On Nov 16, 2018, at 8:21 AM, Csaba Dabis via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank" class="">cfe-dev@lists.llvm.org</a>> wrote:<br class="">
> <br class="">
> Hello!<br class="">
> <br class="">
> Why does the 'generateVisitorsDiagnostics()' function in BugReporter.cpp work backwards? It starts from the node of the error and iterate over the preds.<br class="">
> <br class="">
> I have tried to make it to work forward with storing the 'const ExplodedNode *' nodes in a vector, but 'auto P = V->VisitNode(NextNode, BRC, *R);' crashes. I just found out the 'LastPiece' checking could be moved out from the while-loop, that is it for now.<br class="">
> <br class="">
> Is it possible to achieve? What is could be problematic with that code snippet?<br class="">
> <br class="">
> Thanks you for the suggestions,<br class="">
> Csaba.<br class="">
> _______________________________________________<br class="">
> cfe-dev mailing list<br class="">
> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank" class="">cfe-dev@lists.llvm.org</a><br class="">
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br class="">
<br class="">
</blockquote></div>
</div></blockquote></div><br class=""></div></body></html>