On Monday, 13 January 2014 at 05:04:46 UTC, Manu wrote:
On 12 January 2014 00:35, Kai Nacke <[email protected]> wrote:

On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:

This might have been brought up before but I couldn't find any thread about this. As things has progressed I wonder if Digital Mars DMD should move over to use LLVM instead of its own code generation and compiler
framework.

As I see it with the small amount of contributors D-language has, DMD will never support anything beyond x86 as there are no resources for this. Also, why spend time on recreating the the code generation which has already been done with LLVM? This enables this community to focus on the language which is the most important part as well as supporting more and
future processor targets.


You currently can't get the best of all worlds in a single compiler.

LLVM does not support exceptions on native Win32. (Same is true for Win64 but I hope to change this.) LLVM does not support CodeView debug symbols.
Not in the format embedded in object file and not as PDB.
In short, you loose the complete native Windows tool chain.


Is there any progress on any of these things BTW?
At some point, sooner or later, we're REALLY going to need a performance
compiler on Windows...

My patch for exceptions on Win64 is finally in review. I hope to commit it soon.

The Google guys are adding COFF line number support right now.

Regards,
Kai


With LDC, you can use other platforms. E.g. it runs on Linux/PPC64. But you
can't ignore the backend because it has bugs and is incomplete.

E.g. on Linux/ARM I have a linker error when I enable generation of debug symbols. LLVM for arm-apple-darwin does not support TLS. LLVM for PPC supports only 2 of the 4 TLS models. In addition, the assembler for PPC/PPC64 does not support all instructions I need for std.math.

Regards,
Kai

Reply via email to