Catching C++ std::exception in D
Johannes Pfau via Digitalmars-d
digitalmars-d at puremagic.com
Thu Nov 12 08:55:09 PST 2015
Am Thu, 12 Nov 2015 11:31:39 +0100
schrieb Iain Buclaw via Digitalmars-d <digitalmars-d at puremagic.com>:
> On 12 November 2015 at 10:36, Walter Bright via Digitalmars-d <
> digitalmars-d at puremagic.com> wrote:
>
> > On 11/12/2015 12:57 AM, Iain Buclaw via Digitalmars-d wrote:
> >
> >> I don't mind the compiler-specific personality,
> >>
> >
> > gdc has one, __gcd_personality_v0. I don't see a way out of not
> > having one.
> >
> >
> Correct, there is no way out of having one.
>
To expand on this: I think we'd prefer one __d_personality_v0 which is
implemented in upstream druntime and identical for all compilers.
Making the compilers ABI compatible is probably not a high priority,
but OTOH we shouldn't introduce new ABI incompatibilities if possible.
Think of it this way: At some point it would be nice to have one,
system-wide installed druntime shared library (from any compiler) and
programs compiled with any other compiler should be able to use it.
We've got well-defined name mangling primarily to allow this - but
because of many small differences mixing compilers is not possible yet.
>
>
> > but a new throw function? I
> >> guess I should count my lucky stars that I'm still using the
> >> original _d_throw
> >> callback.
> >>
> >
> > It only has a different name. Not a different API.
> >
> >
> It's just more ABI differences between D compilers. ;-)
>
More information about the Digitalmars-d
mailing list