[Issue 16547] -betterC switch no longer removes druntime symbols

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Fri Oct 7 13:18:19 PDT 2016


https://issues.dlang.org/show_bug.cgi?id=16547

--- Comment #6 from Martin Nowak <code at dawg.eu> ---
(In reply to Jacob Carlborg from comment #5)
> > Not sure if we did disable EH for -betterC. Would make sense, right?
> 
> I guess. Unless we can limit it to something like Errors which cannot be
> caught. Or somehow use what the C++ runtime provides, if that would help.

It's exactly this native EH that drags in so much stuff.
Did we excluded EH when introducing -betterC? Without TypeInfo it would hardly
work anyhow.

> BTW, how did this work in DMD 2.070.0? It didn't have anything similar to
> __dmd_personality_v0?

Yes, it's part of the native DWARF EH implementation, which was extended to OSX
w/ 2.071.0.

I'm inclined to merge this with issue 11881 b/c it's just another backend
mechanism, that we're not correctly disabling with -betterC.
Also if the binary weren't linked with phobos/druntime, this would have
properly errored as undefined symbol. BetterC should always be used with
-defaultlib=, maybe we should make that the default.

--


More information about the Digitalmars-d-bugs mailing list