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