On 28 February 2013 16:01, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
On 2/28/13 10:53 AM, Iain Buclaw wrote:
On 28 February 2013 15:24, Andrei Alexandrescu
<SeeWebsiteForEmail@erdani.org <mailto:SeeWebsiteForEmail@erdani.org>>

wrote:

    On 2/28/13 5:03 AM, deadalnix wrote:

        That will impair GDC and LDC quite a lot.


    Let's see what the respective project leaders say.

    Andrei



I'll provide facts, but I'll reserve any opinion to myself.

So, feel free to send me a list of questions you want me to answer. :o)

"Would an initiative of porting dmd to D create difficulties for gdc?"

Andrei


Gnat's frontend is written in Ada, however it does not depend on having to call anything from the gcc backend.

We still do not know what portions of the frontend is being ported over to D.  The way gdc is written, it takes the D Frontend, removes all C++ parts that interface with dmd's backend - toElem; toIR; toObjFile; toSymbol; toCtype; toDt (this latter one I am in the middle of removing from gdc) and implements them to instead build GCC trees, the code itself also being in C++.

These are all methods defined in D Front-End, and rely on calling and interfacing with the gcc backend.  Re-writing these in D is not an option, as require access to GCC macros.

See tree.h for the majority of that list: http://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=gcc/tree.h;hb=refs/heads/master


--
Iain Buclaw

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