<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 15 July 2014 00:32, Johannes Pfau via Digitalmars-d-announce <span dir="ltr"><<a href="mailto:digitalmars-d-announce@puremagic.com" target="_blank">digitalmars-d-announce@puremagic.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Am Tue, 15 Jul 2014 00:15:01 +1000<br>
schrieb Manu via Digitalmars-d-announce<br>
<<a href="mailto:digitalmars-d-announce@puremagic.com">digitalmars-d-announce@puremagic.com</a>>:<br>
<div class=""><br>
> I don't see that GDC/GDB will ever be useful in the Windows<br>
> environment due to incompatible object and debug formats, but LLVM<br>
> are making the push for full MSVC compatibility.<br>
<br>
</div>Can you provide some more details about this? MinGW uses the standard<br>
PE object format, afaik. GCC-4.9 also supports SEH exceptions (on 64<br>
bit, not sure about 32). The mingw 'runtime' is a small layer on top of<br>
the microsoft runtime, to provide C99 functions and similar stuff. I<br>
don't think that should be a problem.<br></blockquote><div><br></div><div><a href="http://clang.llvm.org/docs/MSVCCompatibility.html">http://clang.llvm.org/docs/MSVCCompatibility.html</a></div><div><br></div><div>They emit line numbers so far apparently. But I understand the intent is to properly populate the object with cv8 debug data.</div>
<div>The linker takes care of generating the pdb file.</div><div><br></div><div>So, are you saying that GDC binaries will link successfully against the mscrt suite?</div><div>I've used it in the past, and it never wanted to link against the ms libs. In addition, when I did try and link C and D code together, I got loads of CRT conflicts when trying to link glibc and mscrt together.</div>
<div><br></div><div>I believe the goal for LLVM is to target the same runtime as MSC does, otherwise you're just asking for link trouble.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

The pdb debug format is not supported, AFAIK. But that format is not<br>
documented and I don't think you could add D extensions anyway.<br>
So does LLVM really support PDB?<br></blockquote><div><br></div><div>The linker outputs the pdb file, the objects are populated with cv8. Can GCC write cv8 output?</div><div><br></div><div>I'm sure it's possible to creatively coax the cv8 data blocks to store non-MS data without being stripped or crashing the linker...</div>
<div>That said, I don't know anything about cv8/pdb, and if it's able to sufficiently express D concepts as is. MS supports quite a few languages, so it must be reasonably competent as it is...?</div><div><br></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
MinGW can use dwarf debug info on windows and I guess you get all<br>
benefits of Iain's gdb work on windows. It is annoying if you get<br>
crashes in the microsoft C runtime or any other library compiled with<br>
microsoft tools though, as there's no dwarf debug info for these.<br></blockquote><div><br></div><div>I have had problems with the linker when trying to link GDC and MSC objects together.</div><div>You lose the debug info for one or the other world. You can't have dwarf and cv8/pdb together.</div>
<div>And to be useful, there would need to be some visual studio integration for dwarf debugging :/</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
So overall I don't see why mingw should work fine on windows. Of<br>
course there's less incentive for GCC devs to support windows, but I<br>
doubt that's different for LLVM.<br></blockquote><div><br></div><div>I think there would be plenty of incentive if it worked.</div><div>I haven't tried it out for a while. I'll give it a whirl and see what's changed, but while the dwarf/cv8 conflict remains, I can't see it being a practical solution.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
There's also nobody working actively on the MinGW gdc port right now,<br>
afaik. We don't even know the test suite results for mingw. So if you<br>
want to contribute...<br>
</blockquote></div><br></div><div class="gmail_extra">This has indeed been my biggest issue with GDC in the past.</div></div>