<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 12 January 2014 00:35, Kai Nacke <span dir="ltr"><<a href="mailto:kai@redstar.de" target="_blank">kai@redstar.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
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.<br>

<br>
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.<br>

</blockquote>
<br></div>
You currently can't get the best of all worlds in a single compiler.<br>
<br>
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.<br>
In short, you loose the complete native Windows tool chain.<br></blockquote><div><br></div><div>Is there any progress on any of these things BTW?</div><div>At some point, sooner or later, we're REALLY going to need a performance compiler on Windows...</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
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.<br>
<br>
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.<br>

<br>
Regards,<br>
Kai<br>
</blockquote></div><br></div></div>