<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Hi Filip</div><div class="gmail_quote"> </div><div class="gmail_quote">On Thu, Oct 17, 2013 at 12:46 PM, Filip Pizlo <span dir="ltr"><<a href="mailto:fpizlo@apple.com" target="_blank">fpizlo@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">Hi!<br>
<br>
If LLVM encounters badness it may call report_fatal_error().  The default behavior of this function is to call exit(1).  That doesn’t work out so great if LLVM is being used as a library in pretty much anything other than a command-line tool.  For example, if LLVM is in a daemon or in a UI app, calling exit(1) will bypass any stack trace or error reporting that the system would normally do for “fatal” conditions.<br>
</blockquote><div> </div><div>I don't know if this is related or not, but on Windows when applications in the libcxx test suite abort through the various means, they tend to through up a dialog about that which totally halts the script that is running and all of the tests until it gets a confirmation. This isn't always wanted and doesn't actually often include any useful message. It can be disabled through the registry but doing that then makes any application that crashes fail to report errors so doing it that way possibly isn't viable</div>
<div> </div><div>What is desirable is to be able to have applications that terminate in a script log the exception to the output file / console window if there is one and continue and not stop. In other circumstances a message box might be the right thing ideally if it had the actual message of any problem where possible. I don't know what applications in a script do on Apple machines in these circumstances.</div>
<div> </div><div>The topic seems related so forgive me for mentioning it here if it isn't.</div><div> </div></div></div></div>