== Quote from Jarrett Billingsley (jarrett.billings...@gmail.com)'s article > On Sun, Jan 25, 2009 at 2:11 PM, dsimcha <dsim...@yahoo.com> wrote: > > == Quote from Nick Sabalausky (a...@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.