Don Wrote: > It's the other way around. We need to remove the places where DMD's > backend is exposed in the language. It's reassuring that LDC has been > made without finding many such cases.
I agree. From my point of view naked functions and inline assembly - and the associated assumption that we have direct control over the emitted assembly - have caused the most issues. It seems to be appropriate for D though. There's also the D calling convention; we've pretty much got it covered now, but there's a reason GDC still uses the C one instead. Finally, some of the semantic checking in DMD is done in the backend instead of the frontend. These have always caused trouble until we patched the frontend or inserted similar checking into our own backend code. Unfortunately we haven't kept a list of these around (or opened tickets for them).