Dwarf Exception Handling now on FreeBSD!

ZombineDev via Digitalmars-d digitalmars-d at puremagic.com
Sun Jan 31 00:17:15 PST 2016


On Sunday, 31 January 2016 at 06:34:26 UTC, Walter Bright wrote:
> 32/64 support now on Linux and FreeBSD.
>
>   https://github.com/D-Programming-Language/dmd/pull/5376
>
> Turns out that FreeBSD is close enough to Linux that it "just 
> worked".
>
> Recently, there was a long thread entitled "C++17" where people 
> are asking for better C++ interoperability. Well, here's a ripe 
> plum for anyone wanting valuable compiler street cred!
>
> Make the Dwarf EH support work on OSX 32 and 64.
>
> I bet that nearly all the work will be in changing the ELF 
> fixups to MACH-O fixups in the gcc_except_table and eh_frame 
> sections. Use an object dumper to see what g++ uses for fixups 
> in those sections, and do the same.
>
> As for me, I'll be implementing C++ multiple inheritance class 
> layout, because Manu's problems have made it clear we have to 
> do that.

Nice work!

I suggest that after that you look into RAII C++ interop (calling 
C++ destructors at the end of the scope), because it is critical 
for interfacing with modern C++ projects that make heavy use of 
it.

Adding dummy methods as the first members of an interface to 
satisfy the vtbl layout is quite error-prone and useless when you 
need to make the cleanup from the D side!


More information about the Digitalmars-d mailing list