D to C compiler?

dsimcha dsimcha at yahoo.com
Sun Jan 25 12:26:05 PST 2009


== Quote from Jarrett Billingsley (jarrett.billingsley at gmail.com)'s article
> On Sun, Jan 25, 2009 at 2:11 PM, dsimcha <dsimcha at yahoo.com> wrote:
> > == Quote from Nick Sabalausky (a at a.a)'s article
> >> - Like Denis said, I've heard LLVM is supposed to have a plain-C backend,
> >> but I don't know how far along that is or if it's working with LDC (and from
> >> what I hear, even LDC itself isn't quite production-ready just yet, but it
> >> is movng along quickly).
> >
> > This is true.  I've played around w/ this C back end w/ some toy programs and and
> > it works reasonably well, but I forgot about it.  At any rate, could this be used
> > as a temporary kludge to get LDC "working" on unsupported platforms like Windows
> > until it works natively?  Basically, LDC for Windows and other unsupported
> > platforms would compile the D code to C, and then compile the C code w/ the native
> > C compiler for the platform.
> The problem with LDC on Windows is not that LLVM doesn't have a
> backend for Windows; it does.  It's just that LLVM doesn't yet support
> Windows exception handling.  Using the C backend wouldn't help there.

Is there any decent reading material out there about how exception handling is
works under the hood and why it can't be done in a cross-platform way at the C
level?  From reading and participating in discussions about LDC, I've come to
realize that implementing exception handling is a *much* harder problem than I
would have anticipated, and I've become very curious as to why.  Wikipedia would
be the obvious place, but it doesn't seem to provide much detail.



More information about the Digitalmars-d mailing list