Jarrett Billingsley Wrote:
> On Sun, Jan 25, 2009 at 2:11 PM, dsimcha <[email protected]> wrote:
> > == Quote from Nick Sabalausky ([email protected])'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.

Reviving a slightly dated thread here:

The exception problem and C could be sidestepped altogether by compiling to C++ 
instead of pure C. All the major console SDKs at least will compile C++. This 
doesn't mean we would need to use any more C++ features like classes or 
templates, the result could be pretty much "C with exceptions". An added 
benefit would be automatic eh compatibility with existing C++ code, on all 
platforms.

As a side note, compiling D->C++ could probably be done at a higher level than 
using C-as-assembler-output, which I suspect is what LLVM will end up doing. 
This isn't a high priority though.

Nico

Reply via email to