<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 9, 2016 at 7:42 PM, Paul Hancock <span dir="ltr"><<a href="mailto:Paul.Hancock.17041993@live.com" target="_blank">Paul.Hancock.17041993@live.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr">
<div style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<p>I should be able to flush/shutdown everything and reinit/restart it like I do everything else, it would be pretty bad design to not be able to.<br></p></div></div></blockquote><div>Yeah, it's far from perfect, but error handling can be difficult/expensive to weave through every layer. So for certain kinds of errors we don't do that sort of thing.<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif"><p>On a similar issue, calling llvm_shutdown and reinitialising everything leads to problems as it doesn't appear that llvm is being reinitialised correctly, this seems to be a bug unless there's an extra function call I'm missing that isn't needed at first startup?<br></p></div></div></blockquote><div>In theory this should work, of course - if you've got specific things that seem to not be working, might be worth filing a bug, etc?<br>I'm not sure how well tested/exercised the llvm_shutdown path is. (equally, most stuff should just be in the LLVMContext & should be able to destroy that and make a new one without the full shutdown/re-init, not sure if that path is any better tested/used, though)<br><br>(perhaps someone else on llvm-dev can chime in if I'm giving an incorrectly pessimistic representation of the state of things) <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif"><p>
<br>
- Paul<br>
<br>
<br>
</p>
<p><br>
</p>
<br>
<br>
<div style="color:rgb(0,0,0)">
<hr style="display:inline-block;width:98%">
<div dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>><br>
<b>Sent:</b> 10 March 2016 10:23<br>
<b>To:</b> Paul Hancock<br>
<b>Cc:</b> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<b>Subject:</b> Re: [llvm-dev] LLVM Fatal Error Handling</font>
<div> </div>
</div><div><div class="h5">
<div>
<div dir="ltr">I'd be pretty sure the definition of a fatal error is one that can't be continued from - though I'm not familiiar with this particular LLVM hook/details.</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Mar 9, 2016 at 2:57 PM, Paul Hancock via llvm-dev
<span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Now, at least in release 3.7.1, on an encounter with a fatal error at the time of compiling a module it will call an installed handler function and allow the application to log the error etc. However once said handler returns LLVM will force an exit of 0x1,
 something that I cant allow to ever occur, but according to the ErrorHandling header I cant safely throw an exception to back out of the error either?<br>
<br>
</p>
<p>So what would be the most ideal way of recovering the application from such an event?<span><font color="#888888"><br>
<br>
- Paul<br>
</font></span></p>
</div>
</div>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a title="Ctrl+Click or tap to follow the link" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div></div></div>
</div>
</div>

</blockquote></div><br></div></div>