LDC - DMD sync strategy

Yuriy yuriy.glukhov at gmail.com
Mon Mar 24 02:51:31 PDT 2014


Hello, I've been looking at LDC sources and it seems a bit weird 
to me, that DMD is not used as a submodule. If LDC aims to 
provide LLVM generation, using original DMD as a frontend, it 
will get hard to maintain merges from original DMD over time. And 
it seems to me, that it is already, as DMD is not up-to-date 
there. E.g. while DMD factored out toIR and toElem to visitors, 
LDC still uses old design.

If i'm right and such problem exists, what do you think of the 
following plan to fix this:
1. Create a DMD fork. Create an ldc-dmd branch in it, and replace 
it's contents with current DMD state in LDC.
2. Start using DMD fork with it's ldc-branch in LDC repo as a 
submodule.
3. Gradually refactor LDC and ldc-dmd branch with the goal to 
completely eliminate differences between ldc-dmd branch and DMD 
fork master.
4. Repeat step 3, until complete =)
5. Switch submodule to DMD fork master, and close dmd-ldc branch.


More information about the digitalmars-d-ldc mailing list