<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Ella,<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jun 24, 2018, at 1:23 AM, alan snape via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" class="">cfe-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">My team is developing a static analysis tool based on clang and llvm, but the assertion failures in the source code of llvm and clang will always crash the program execution, which is not acceptable in a **stable product**.</div></div></blockquote><div><br class=""></div><div>Each assertion failure is a bug you can report at <a href="http://bugs.llvm.org" class="">bugs.llvm.org</a>. Do you really get that many?</div><div>We at Apple regularly run the clang static analyzer on huge chunks of the internal codebase, and in my understanding Google does the same,</div><div>so I am quite surprised this is a problem for you.</div><div> </div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""> The tool analyzes the functions one by one in the Call Graph SCC order, so is there any way to tolerate the assertion failures and continue the analysis on the next function when assertion failures occur on calling some APIs of clang and llvm? (crashes only the analysis of the function<span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline" class=""><span class=""> </span>(the analysis methods of the FunctionDecl)</span> being analyzed, not the entire program)</div></div></blockquote><div><br class=""></div><div>I would really like to challenge your assumption here that assertions are unacceptable.</div><div><br class=""></div><div>A clean crash with an understandable stack trace means that the problem can be fixed.</div><div>Adding layers of indirection which hide those failures means that the bug gets unnoticed,</div><div>and the analyzer probably ends up doing something wrong.</div><div><br class=""></div><div>Could you clarify what is the common error mode for you?</div><div><br class=""></div><div>Regards,</div><div>George</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Ella</div></div>
_______________________________________________<br class="">cfe-dev mailing list<br class=""><a href="mailto:cfe-dev@lists.llvm.org" class="">cfe-dev@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev<br class=""></div></blockquote></div><br class=""></body></html>