<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 28 February 2013 16:01, Andrei Alexandrescu <span dir="ltr"><<a href="mailto:SeeWebsiteForEmail@erdani.org" target="_blank">SeeWebsiteForEmail@erdani.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im">On 2/28/13 10:53 AM, Iain Buclaw wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im">
On 28 February 2013 15:24, Andrei Alexandrescu<br></div>
<<a href="mailto:SeeWebsiteForEmail@erdani.org" target="_blank">SeeWebsiteForEmail@erdani.org</a> <mailto:<a href="mailto:SeeWebsiteForEmail@erdani.org" target="_blank">SeeWebsiteForEmail@<u></u>erdani.org</a>>><div>
<div class="h5"><br>
wrote:<br>
<br>
    On 2/28/13 5:03 AM, deadalnix wrote:<br>
<br>
        That will impair GDC and LDC quite a lot.<br>
<br>
<br>
    Let's see what the respective project leaders say.<br>
<br>
    Andrei<br>
<br>
<br>
<br></div></div><div class="im">
I'll provide facts, but I'll reserve any opinion to myself.<br>
<br>
So, feel free to send me a list of questions you want me to answer. :o)<br>
</div></blockquote>
<br>
"Would an initiative of porting dmd to D create difficulties for gdc?"<span class=""><font color="#888888"><br>
<br>
Andrei<br>
</font></span></blockquote></div><br><br></div><div class="gmail_extra">Gnat's frontend is written in Ada, however it does not depend on having to call anything from the gcc backend.<br><br>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++.<br>
<br></div><div class="gmail_extra">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.<br><br>See tree.h for the majority of that list: <a href="http://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=gcc/tree.h;hb=refs/heads/master">http://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=gcc/tree.h;hb=refs/heads/master</a><br>
</div><div class="gmail_extra"><br clear="all"><br>-- <br>Iain Buclaw<br><br>*(p < e ? p++ : p) = (c & 0x0f) + '0';
</div></div>