GktD: exceptions in handlers cause segfaults.
Marco Leise
Marco.Leise at gmx.de
Mon Jul 22 10:28:10 PDT 2013
Am Fri, 19 Jul 2013 21:43:38 +0200
schrieb Johannes Pfau <nospam at example.com>:
> Am Fri, 19 Jul 2013 12:38:45 +0200
> schrieb Marco Leise <Marco.Leise at gmx.de>:
>
> Would be nice to know if this is working with gdc or ldc. In theory it
> should work as we use gcc's exception handling/stack unwinding so it's
> probably a dmd bug.
That's good to know. Is it possible to port that code into
DMD ? How many C libraries do you think are prepared for
exceptions ? They might have to clean up memory or system
resources.
> Slightly off topic, but maybe interesting:
> Things can get really nasty if the GCC backend somehow decided
> a function is nothrow and you throw from there. Unless GTK uses some
> special __nothrow__ attributes that shouldn't happen in C, but I've seen
> D code that throws from @nothrow functions and at least on ARM that
> crashes... Might be a gdc bug or a problem with the D language
> specification.
If with @nothrow you mean the nothrow keyword, it has no value
for compiler backends, because assert errors can be thrown
anyways. But I probably misunderstood you.
--
Marco
More information about the Digitalmars-d-learn
mailing list