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