Am Thu, 08 Aug 2013 11:33:28 -0700
schrieb Walter Bright <newshou...@digitalmars.com>:

> On 8/8/2013 6:48 AM, Marco Leise wrote:
> > I recently proposed using nothrow in GtkD as well. This
> > article was kind of a coincidence now. Yes, it is a real issue
> > with binding to C code unfortunately. Especially on amd64 with
> > GCC compiled stuff since it omits the stack frame that DMD
> > requires to unwind the stack resulting in immediate crashes
> > (druntime HLTs the execution) as soon as you throw an
> > exception from a callback.
> 
> 
> I agree that C callbacks called from C code should be nothrow.
> 
> At a minimum, the C code that calls the callback is not going to be expecting 
> an 
> exit via exception, and so may leave things in an indeterminate state.

Just for completeness: In a recent discussion on IRC I learned
that vendor specific attributes exist for C compilers to mark
functions as "ok to use with exceptions".

-- 
Marco

Reply via email to