What about GDC and LDC after DMD becomes D?
Kai Nacke via Digitalmars-d
digitalmars-d at puremagic.com
Wed Jul 22 08:11:56 PDT 2015
On Wednesday, 22 July 2015 at 11:42:24 UTC, Shriramana Sharma
wrote:
> Once the front end of DMD becomes fully D, I read that the
> backend will also become D, but then what will happen to GDC
> and LDC whose backends are C++ IIUC?
Hi Shriramana!
My current *plan A* for LDC is:
Prerequisite: Enable LLVM Cpp backend
For release: Compile DDMD frontend to C++ and distribute D and
C++ version of DDMD.
Bootstrap process:
- Create stage1 ldc compiler from C++ version of frontend.
- Use stage1 ldc to compile stage2 ldc compiler from D version of
frontend.
- For verification it could be useful to create a stage3 ldc
compiler using the stage2 compiler.
Advantage is that you only need a C/C++ compiler for bootstrap.
Drawback is compile time.
I have not yet tested this approach. Therefore *plan B*:
Use a previous version of LDC to compile the current version.
This will work as long as the used language in the frontend is
stable.
The non-frontend parts of LDC might slowly migrate from C++ to D.
The pain point here is that LDC makes use of the LLVM C++ API
which is really superior to the C API.
Regards,
Kai
More information about the Digitalmars-d
mailing list