<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 13 November 2015 at 18:45, Dan Olson via Digitalmars-d <span dir="ltr"><<a href="mailto:digitalmars-d@puremagic.com" target="_blank">digitalmars-d@puremagic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><div class="h5">Johannes Pfau <<a href="mailto:nospam@example.com">nospam@example.com</a>> writes:<br>
<br>
> Am Thu, 12 Nov 2015 09:59:14 -0800<br>
> schrieb Dan Olson <<a href="mailto:gorox@comcast.net">gorox@comcast.net</a>>:<br>
><br>
>> Johannes Pfau <<a href="mailto:nospam@example.com">nospam@example.com</a>> writes:<br>
>> > To expand on this: I think we'd prefer one __d_personality_v0 which<br>
>> > is implemented in upstream druntime and identical for all<br>
>> > compilers.<br>
>><br>
>> Speacking of upstream support.  GDC support SjLj exceptions.  In<br>
>> 2.067, it became obvious that Fiber needed separate SjLj context<br>
>> stacks which are normally thread specific.  I have a change in my iOS<br>
>> LDC fork which I suppose could go to upstream thread.d file so GDC<br>
>> can pick it up to.<br>
>><br>
>> <a href="https://github.com/smolt/druntime/commit/5d32e9e68cc6bd8b13cacfdb18a4d91374bf6b3e" rel="noreferrer" target="_blank">https://github.com/smolt/druntime/commit/5d32e9e68cc6bd8b13cacfdb18a4d91374bf6b3e</a><br>
>><br>
>> See, I even included GNU_SjLj_Exceptions :-)<br>
>><br>
>> Sound like a good idea?  It is getting queued up soon as a PR to LDC<br>
>> once we get an iOS version officially in the compiler frontend.<br>
><br>
> Nice work. We certainly want that in GDC or even better in upstream.<br>
> I guess we don't have a unittest yet which can detect this problem. Is<br>
> it possible to add a unittest for this?<br>
<br>
</div></div>I had 2.067 unittest failures without this change, I don't recall which.<br>
I know it made me laugh becase exceptions were being thrown from Fiber A<br>
but being caught by Fiber B.  I can easily find out what fails by<br>
rerunning without the change. I'll report back later.<br>
</blockquote></div><br></div><div class="gmail_extra">There may be a few other holes between how Fibers and EH interact.<br><br><a href="https://github.com/D-Programming-Language/druntime/commit/f6633abb43ea1f2464d3a772b8f8fe78216ffd8e">https://github.com/D-Programming-Language/druntime/commit/f6633abb43ea1f2464d3a772b8f8fe78216ffd8e</a><br><br><br></div></div>