On 1 March 2013 10:43, Jacob Carlborg <doob@me.com> wrote:
On 2013-03-01 11:29, Iain Buclaw wrote:

The code that interfaces with gcc needs to be in either C or C++.  There
are C++ structs/classes defined in the D frontend that while they
include all methods required for parsing/semantic analysis of D code.
They also include methods that are used to generate the codegen for the
backend (toElem, toIR, toSymbol, etc).  In gdc, these are gcc
interfacing methods that can't be converted to D.

Can you use the current toElem, toIR and toSymbol written in C++. Then port in changes from the version written in D as needed?

--
/Jacob Carlborg


Also, what changes dmd makes to it's back-end facing functions do not necessarily affect gdc.  So there has never really been a direct conversion from one to the other, however as they (should) do effectively the same code generation, one can draw comparisons between them.

Regards,
--
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';