digitalmars.D - Should LLVM become the default D-lang platform?
- Dwhatever (11/11) Jan 10 2014 This might have been brought up before but I couldn't find any
- John Colvin (4/15) Jan 10 2014 This comes up regularly. It's already been done. Ldc *is* dmd
- John Colvin (4/20) Jan 10 2014 also, the digital mars backend is very fast, which is actually
- Andrei Alexandrescu (4/22) Jan 10 2014 We plan to rig Facebook's build system to use dmd in debug mode and gdc
- Brian Schott (5/8) Jan 10 2014 Speaking of Facebook, I'd be interested in seeing how your lexer
- Andrei Alexandrescu (3/11) Jan 10 2014 Yes, it's in the pipeline.
- Marco Leise (12/16) Jan 11 2014 I do that too, and part of the reason why I hacked something
- Benjamin Thaut (5/7) Jan 11 2014 I would also prefer to keep the digital mars backend for exactly that
- Iain Buclaw (2/17) Jan 10 2014 Indeed. But naturally I'd suggest they move to GCC. ;-)
- Dwhatever (3/32) Jan 10 2014 I see LLVM as a better choice because the license is less
- Iain Buclaw (2/3) Jan 10 2014 That is a rather ignorant assumption.
- John Colvin (4/9) Jan 10 2014 I've got some pretty strong sympathies with the gpl, but really?
- Joseph Rushton Wakeling (4/7) Jan 10 2014 Yes, but there's a difference between "restrictive" and "intrusive". Us...
- Jacob Carlborg (6/10) Jan 11 2014 The way Apple has integrated Clang into Xcode would never be possible
- Joseph Rushton Wakeling (7/18) Jan 13 2014 Right, but they are not merely using -- they are redistributing
- Iain Buclaw (3/19) Jan 13 2014 Yah, but s/constraints/freedoms/. :-)
- Joseph Rushton Wakeling (2/3) Jan 13 2014 Quite. :-)
- Jacob Carlborg (5/9) Jan 13 2014 I think the "intrusive" part referrers to, if you use GPL licensed code
- David Nadlinger (12/17) Jan 13 2014 If the whole topic is basing one project on another, as in the
- Paulo Pinto (9/18) Jan 10 2014 Restrictive to whom?
- Dwhatever (6/22) Jan 10 2014 Picking LLVM as the default development platform also means that
- John Colvin (4/27) Jan 10 2014 Hopefully, when the ddmd changeover happens (translating the
- Manu (9/34) Jan 10 2014 Is it possible that GDC will ever produce binaries that will link agains...
- Iain Buclaw (4/41) Jan 11 2014 As I understand, neither GCC nor LLVM are capable of producing PDB.
- Peter Alexander (5/10) Jan 11 2014 There are plenty of PDB parsers available, so it should be
- Iain Buclaw (4/12) Jan 11 2014 uncover the format from there.
- Adam Wilson (8/61) Jan 11 2014 This is no longer true of LLVM, they've got Windows specific builds that...
- Manu (3/51) Jan 12 2014 Walter did it for DMD. I think CV8 is more or less documented, but he fo...
- Iain Buclaw (3/61) Jan 13 2014 Yes, however Walter has *ehem* ties with Microsoft, so he may have
- Jacob Carlborg (4/6) Jan 13 2014 It doesn't hurt to ask ;)
- Paulo Pinto (6/16) Jan 10 2014 Because Walter wouldn't be able to work on his current job any longer if...
- David Nadlinger (9/12) Jan 11 2014 Unless you have an actual explanation as to why this would be the
- Paulo Pinto (6/19) Jan 11 2014 As far as I remember he already had a few court cases caused by such
- David Nadlinger (9/10) Jan 11 2014 …which is precisely why I found it odd that you posted such an
- Iain Buclaw (4/16) Jan 11 2014 Remember when I told you that LLVM devs reverted commits made by core
- David Nadlinger (7/11) Jan 11 2014 I don't recall the details, but I don't see how this is relevant
- Kai Nacke (18/29) Jan 11 2014 You currently can't get the best of all worlds in a single
- Manu (5/30) Jan 12 2014 Is there any progress on any of these things BTW?
- Paulo Pinto (7/45) Jan 12 2014 Only recently LLVM developers really started caring about
- Kai Nacke (6/59) Jan 13 2014 My patch for exceptions on Win64 is finally in review. I hope to
- Manu (4/40) Jan 13 2014 Oooohh yeah, this is exciting! :D
- David Nadlinger (4/8) Jan 13 2014 You mean the 32 bit MSVC toolchain? SEH support is unlikely to
- John Colvin (5/63) Jan 13 2014 Genuine question, I have never done any windows specific
- Paulo Pinto (5/72) Jan 13 2014 The 64 bit version of Windows API is still called Win32, there
- luminousone (8/19) Jan 12 2014 LLVM is also the finalizer for HSAIL, AMD is using it for their
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.
Jan 10 2014
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.This comes up regularly. It's already been done. Ldc *is* dmd with llvm backend. Gdc is the same idea but with the gcc framework.
Jan 10 2014
On Friday, 10 January 2014 at 20:54:06 UTC, John Colvin wrote:On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:also, the digital mars backend is very fast, which is actually good selling point for some use-cases where compilation speed is important.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.This comes up regularly. It's already been done. Ldc *is* dmd with llvm backend. Gdc is the same idea but with the gcc framework.
Jan 10 2014
On 1/10/14 12:56 PM, John Colvin wrote:On Friday, 10 January 2014 at 20:54:06 UTC, John Colvin wrote:We plan to rig Facebook's build system to use dmd in debug mode and gdc in release mode by default. Best of both worlds. AndreiOn Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:also, the digital mars backend is very fast, which is actually good selling point for some use-cases where compilation speed is important.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.This comes up regularly. It's already been done. Ldc *is* dmd with llvm backend. Gdc is the same idea but with the gcc framework.
Jan 10 2014
On Friday, 10 January 2014 at 21:44:52 UTC, Andrei Alexandrescu wrote:We plan to rig Facebook's build system to use dmd in debug mode and gdc in release mode by default. Best of both worlds. AndreiSpeaking of Facebook, I'd be interested in seeing how your lexer generator ended up compared to mine. Did you ever get permission to release that code?
Jan 10 2014
On 1/10/14 1:58 PM, Brian Schott wrote:On Friday, 10 January 2014 at 21:44:52 UTC, Andrei Alexandrescu wrote:Yes, it's in the pipeline. AndreiWe plan to rig Facebook's build system to use dmd in debug mode and gdc in release mode by default. Best of both worlds. AndreiSpeaking of Facebook, I'd be interested in seeing how your lexer generator ended up compared to mine. Did you ever get permission to release that code?
Jan 10 2014
Am Fri, 10 Jan 2014 13:44:52 -0800 schrieb Andrei Alexandrescu <SeeWebsiteForEmail erdani.org>:We plan to rig Facebook's build system to use dmd in debug mode and gdc in release mode by default. Best of both worlds. AndreiI do that too, and part of the reason why I hacked something together for the Gentoo Linux package manager, so I could install libraries for multiple compilers at once. It seems so trivial to use dmd and a companion compiler gdc or ldc, but once shared libraries and multiple D releases come into the mix, it means patching up dmd, make files and dealing with "rpath" to load the correct .so (compiler using a specific compiler vendor/version combination). -- Marco
Jan 11 2014
Am 10.01.2014 21:56, schrieb John Colvin:also, the digital mars backend is very fast, which is actually good selling point for some use-cases where compilation speed is important.I would also prefer to keep the digital mars backend for exactly that reason. The GCC and LLVM backends are just way to slow. Kind Regards Benjamin Thaut
Jan 11 2014
On 10 January 2014 20:54, John Colvin <john.loughran.colvin gmail.com> wrote:On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:Indeed. But naturally I'd suggest they move to GCC. ;-)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.This comes up regularly. It's already been done. Ldc *is* dmd with llvm backend. Gdc is the same idea but with the gcc framework.
Jan 10 2014
On Friday, 10 January 2014 at 20:59:35 UTC, Iain Buclaw wrote:On 10 January 2014 20:54, John Colvin <john.loughran.colvin gmail.com> wrote:I see LLVM as a better choice because the license is less intrusive.On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:Indeed. But naturally I'd suggest they move to GCC. ;-)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.This comes up regularly. It's already been done. Ldc *is* dmd with llvm backend. Gdc is the same idea but with the gcc framework.
Jan 10 2014
On 10 January 2014 21:02, Dwhatever <not real.com> wrote:I see LLVM as a better choice because the license is less intrusive.That is a rather ignorant assumption.
Jan 10 2014
On Friday, 10 January 2014 at 21:12:21 UTC, Iain Buclaw wrote:On 10 January 2014 21:02, Dwhatever <not real.com> wrote:I've got some pretty strong sympathies with the gpl, but really? In most practical circumstances gpl is on the more restrictive end of common open-source licences.I see LLVM as a better choice because the license is less intrusive.That is a rather ignorant assumption.
Jan 10 2014
On 10/01/14 22:24, John Colvin wrote:I've got some pretty strong sympathies with the gpl, but really? In most practical circumstances gpl is on the more restrictive end of common open-source licences.Yes, but there's a difference between "restrictive" and "intrusive". Using GDC doesn't intrude into anything -- the standard libraries are still Boost-licensed and simply _using_ a GPL'd piece of software doesn't place any obligations on you.
Jan 10 2014
On 2014-01-10 23:16, Joseph Rushton Wakeling wrote:Yes, but there's a difference between "restrictive" and "intrusive". Using GDC doesn't intrude into anything -- the standard libraries are still Boost-licensed and simply _using_ a GPL'd piece of software doesn't place any obligations on you.The way Apple has integrated Clang into Xcode would never be possible with GCC since that would require Apple to release Xcode under the GPL license. -- /Jacob Carlborg
Jan 11 2014
On Saturday, 11 January 2014 at 20:38:32 UTC, Jacob Carlborg wrote:On 2014-01-10 23:16, Joseph Rushton Wakeling wrote:Right, but they are not merely using -- they are redistributing (and distributing derivative works). The GPL places certain constraints here, I think we can all agree, but it can hardly be described as "intrusive"; there's no obligation to base one's work on GPL-licensed code.Yes, but there's a difference between "restrictive" and "intrusive". Using GDC doesn't intrude into anything -- the standard libraries are still Boost-licensed and simply _using_ a GPL'd piece of software doesn't place any obligations on you.The way Apple has integrated Clang into Xcode would never be possible with GCC since that would require Apple to release Xcode under the GPL license.
Jan 13 2014
On 13 January 2014 08:07, Joseph Rushton Wakeling <joseph.wakeling webdrake.net> wrote:On Saturday, 11 January 2014 at 20:38:32 UTC, Jacob Carlborg wrote:Yah, but s/constraints/freedoms/. :-)On 2014-01-10 23:16, Joseph Rushton Wakeling wrote:Right, but they are not merely using -- they are redistributing (and distributing derivative works). The GPL places certain constraints here, I think we can all agree, but it can hardly be described as "intrusive"; there's no obligation to base one's work on GPL-licensed code.Yes, but there's a difference between "restrictive" and "intrusive". Using GDC doesn't intrude into anything -- the standard libraries are still Boost-licensed and simply _using_ a GPL'd piece of software doesn't place any obligations on you.The way Apple has integrated Clang into Xcode would never be possible with GCC since that would require Apple to release Xcode under the GPL license.
Jan 13 2014
On 13/01/14 09:13, Iain Buclaw wrote:Yah, but s/constraints/freedoms/. :-)Quite. :-)
Jan 13 2014
On 2014-01-13 09:07, Joseph Rushton Wakeling wrote:Right, but they are not merely using -- they are redistributing (and distributing derivative works). The GPL places certain constraints here, I think we can all agree, but it can hardly be described as "intrusive"; there's no obligation to base one's work on GPL-licensed code.I think the "intrusive" part referrers to, if you use GPL licensed code your own coded need to be GPL licensed as well. -- /Jacob Carlborg
Jan 13 2014
On Monday, 13 January 2014 at 08:07:42 UTC, Joseph Rushton Wakeling wrote:Right, but they are not merely using -- they are redistributing (and distributing derivative works). The GPL places certain constraints here, I think we can all agree, but it can hardly be described as "intrusive"; there's no obligation to base one's work on GPL-licensed code.If the whole topic is basing one project on another, as in the current discussion, than that's utterly besides the point. Don't get me wrong, I'm rather sympathetic with the Free Software philosophy, and in fact I consider (A)GPL for all my projects. But if the fear of tainting a commercial product (such as the DMC backend) with code under an incompatible license is a concern, then "intrusive" is precisely the right word to describe GPL. There is a reason that many bigger companies outright ban it, whether that is ultimately a sane thing to do or not. David
Jan 13 2014
Am 10.01.2014 22:24, schrieb John Colvin:On Friday, 10 January 2014 at 21:12:21 UTC, Iain Buclaw wrote:Restrictive to whom? One reason why my open source code is under GPL, is due to my experience in projects in the enterprise world, where other more "free" licenses are taken as free beer and as a mean of avoiding paying licenses. No contribution is ever done, in any form. -- PauloOn 10 January 2014 21:02, Dwhatever <not real.com> wrote:I've got some pretty strong sympathies with the gpl, but really? In most practical circumstances gpl is on the more restrictive end of common open-source licences.I see LLVM as a better choice because the license is less intrusive.That is a rather ignorant assumption.
Jan 10 2014
On Friday, 10 January 2014 at 20:54:06 UTC, John Colvin wrote:On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:Picking LLVM as the default development platform also means that it will tested in this environment instead of porting it all the time which introduce new bugs. The support is also different among the different backends, picking one would harmonize this and make it more complete.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.This comes up regularly. It's already been done. Ldc *is* dmd with llvm backend. Gdc is the same idea but with the gcc framework.
Jan 10 2014
On Friday, 10 January 2014 at 21:00:47 UTC, Dwhatever wrote:On Friday, 10 January 2014 at 20:54:06 UTC, John Colvin wrote:Hopefully, when the ddmd changeover happens (translating the frontend to D) the frontend will be truly shared between the different compilers.On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:Picking LLVM as the default development platform also means that it will tested in this environment instead of porting it all the time which introduce new bugs. The support is also different among the different backends, picking one would harmonize this and make it more complete.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.This comes up regularly. It's already been done. Ldc *is* dmd with llvm backend. Gdc is the same idea but with the gcc framework.
Jan 10 2014
On 11 January 2014 06:59, Iain Buclaw <ibuclaw gdcproject.org> wrote:On 10 January 2014 20:54, John Colvin <john.loughran.colvin gmail.com> wrote:Is it possible that GDC will ever produce binaries that will link against the microsoft libs without problems? In my experience, GDC produces intrinsic calls to its own runtime all over the place, and it's not compatible with the microsoft runtime. I also recall library format mismatch, but that was a long time ago, and I think we discussed it again since deciding that GDC is now using the same format as VisualC in windows...? Can GDC write PDB debuginfo into the objects (CV8 I think it is)?On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:willThis 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, DMDAlso,never support anything beyond x86 as there are no resources for this.beenwhy spend time on recreating the the code generation which has alreadywhichdone with LLVM? This enables this community to focus on the languageprocessoris the most important part as well as supporting more and futureIndeed. But naturally I'd suggest they move to GCC. ;-)targets.This comes up regularly. It's already been done. Ldc *is* dmd with llvm backend. Gdc is the same idea but with the gcc framework.
Jan 10 2014
On 11 January 2014 00:24, Manu <turkeyman gmail.com> wrote:On 11 January 2014 06:59, Iain Buclaw <ibuclaw gdcproject.org> wrote:As I understand, neither GCC nor LLVM are capable of producing PDB. Has Microsoft even release any documentation or code necessary to produce files in their PDB format?On 10 January 2014 20:54, John Colvin <john.loughran.colvin gmail.com> wrote:Is it possible that GDC will ever produce binaries that will link against the microsoft libs without problems? In my experience, GDC produces intrinsic calls to its own runtime all over the place, and it's not compatible with the microsoft runtime. I also recall library format mismatch, but that was a long time ago, and I think we discussed it again since deciding that GDC is now using the same format as VisualC in windows...? Can GDC write PDB debuginfo into the objects (CV8 I think it is)?On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:Indeed. But naturally I'd suggest they move to GCC. ;-)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.This comes up regularly. It's already been done. Ldc *is* dmd with llvm backend. Gdc is the same idea but with the gcc framework.
Jan 11 2014
On Saturday, 11 January 2014 at 13:04:13 UTC, Iain Buclaw wrote:As I understand, neither GCC nor LLVM are capable of producing PDB. Has Microsoft even release any documentation or code necessary to produce files in their PDB format?There are plenty of PDB parsers available, so it should be possible to uncover the format from there. Here's one. https://code.google.com/p/pdbparse/
Jan 11 2014
On 11 Jan 2014 16:55, "Peter Alexander" <peter.alexander.au gmail.com> wrote:On Saturday, 11 January 2014 at 13:04:13 UTC, Iain Buclaw wrote:uncover the format from there.As I understand, neither GCC nor LLVM are capable of producing PDB. Has Microsoft even release any documentation or code necessary to produce files in their PDB format?There are plenty of PDB parsers available, so it should be possible toHere's one. https://code.google.com/p/pdbparse/But just to clarify, that is a reverse engineering effort?
Jan 11 2014
On Sat, 11 Jan 2014 05:04:03 -0800, Iain Buclaw <ibuclaw gdcproject.org> wrote:On 11 January 2014 00:24, Manu <turkeyman gmail.com> wrote:This is no longer true of LLVM, they've got Windows specific builds that output PDB and link with COFF natively. See: http://llvm.org/builds/ -- Adam Wilson IRC: LightBender Aurora Project CoordinatorOn 11 January 2014 06:59, Iain Buclaw <ibuclaw gdcproject.org> wrote:As I understand, neither GCC nor LLVM are capable of producing PDB. Has Microsoft even release any documentation or code necessary to produce files in their PDB format?On 10 January 2014 20:54, John Colvin <john.loughran.colvin gmail.com> wrote:Is it possible that GDC will ever produce binaries that will link against the microsoft libs without problems? In my experience, GDC produces intrinsic calls to its own runtime all over the place, and it's not compatible with the microsoft runtime. I also recall library format mismatch, but that was a long time ago, and I think we discussed it again since deciding that GDC is now using the same format as VisualC in windows...? Can GDC write PDB debuginfo into the objects (CV8 I think it is)?On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:threadThis might have been brought up before but I couldn't find anycompilerabout this. As things has progressed I wonder if Digital Mars DMD should move over to use LLVM instead of its own code generation andDMDframework. As I see it with the small amount of contributors D-language has,this.will never support anything beyond x86 as there are no resources foralreadyAlso, why spend time on recreating the the code generation which hasllvmbeen 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.This comes up regularly. It's already been done. Ldc *is* dmd withbackend. Gdc is the same idea but with the gcc framework.Indeed. But naturally I'd suggest they move to GCC. ;-)
Jan 11 2014
On 11 January 2014 23:04, Iain Buclaw <ibuclaw gdcproject.org> wrote:On 11 January 2014 00:24, Manu <turkeyman gmail.com> wrote:Walter did it for DMD. I think CV8 is more or less documented, but he found some Microsoft tweaks to the format, or something like that.On 11 January 2014 06:59, Iain Buclaw <ibuclaw gdcproject.org> wrote:alreadyOn 10 January 2014 20:54, John Colvin <john.loughran.colvin gmail.com> 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 hasllvmbeen 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.This comes up regularly. It's already been done. Ldc *is* dmd withoverIs it possible that GDC will ever produce binaries that will link against the microsoft libs without problems? In my experience, GDC produces intrinsic calls to its own runtime allbackend. Gdc is the same idea but with the gcc framework.Indeed. But naturally I'd suggest they move to GCC. ;-)the place, and it's not compatible with the microsoft runtime. I alsorecalllibrary format mismatch, but that was a long time ago, and I think we discussed it again since deciding that GDC is now using the same formatasVisualC in windows...? Can GDC write PDB debuginfo into the objects (CV8 I think it is)?As I understand, neither GCC nor LLVM are capable of producing PDB. Has Microsoft even release any documentation or code necessary to produce files in their PDB format?
Jan 12 2014
On 13 January 2014 05:01, Manu <turkeyman gmail.com> wrote:On 11 January 2014 23:04, Iain Buclaw <ibuclaw gdcproject.org> wrote:Yes, however Walter has *ehem* ties with Microsoft, so he may have access to information the Free Software community don't. ;)On 11 January 2014 00:24, Manu <turkeyman gmail.com> wrote:Walter did it for DMD. I think CV8 is more or less documented, but he found some Microsoft tweaks to the format, or something like that.On 11 January 2014 06:59, Iain Buclaw <ibuclaw gdcproject.org> wrote:As I understand, neither GCC nor LLVM are capable of producing PDB. Has Microsoft even release any documentation or code necessary to produce files in their PDB format?On 10 January 2014 20:54, John Colvin <john.loughran.colvin gmail.com> wrote:Is it possible that GDC will ever produce binaries that will link against the microsoft libs without problems? In my experience, GDC produces intrinsic calls to its own runtime all over the place, and it's not compatible with the microsoft runtime. I also recall library format mismatch, but that was a long time ago, and I think we discussed it again since deciding that GDC is now using the same format as VisualC in windows...? Can GDC write PDB debuginfo into the objects (CV8 I think it is)?On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:Indeed. But naturally I'd suggest they move to GCC. ;-)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.This comes up regularly. It's already been done. Ldc *is* dmd with llvm backend. Gdc is the same idea but with the gcc framework.
Jan 13 2014
On 2014-01-13 09:11, Iain Buclaw wrote:Yes, however Walter has *ehem* ties with Microsoft, so he may have access to information the Free Software community don't. ;)It doesn't hurt to ask ;) -- /Jacob Carlborg
Jan 13 2014
Am 10.01.2014 21:51, schrieb Dwhatever: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.Because Walter wouldn't be able to work on his current job any longer if he looks into other compiler vendors source code. IP laws are always a complicated issue. -- Paulo
Jan 10 2014
On Friday, 10 January 2014 at 21:00:24 UTC, Paulo Pinto wrote:Because Walter wouldn't be able to work on his current job any longer if he looks into other compiler vendors source code. IP laws are always a complicated issue.Unless you have an actual explanation as to why this would be the case, I'd simply regard this as FUD. I see how the viral nature of the GCC license might be a problem for that, but as far as LLVM is concerned, Walter would even be able to just rebrand Clang as DMC and ship it as a closed-source package. LLVM also doesn't require any copyright assignments, which might be an impediment for contributing any fixes back to GCC. David
Jan 11 2014
On 11.01.2014 12:58, David Nadlinger wrote:On Friday, 10 January 2014 at 21:00:24 UTC, Paulo Pinto wrote:As far as I remember he already had a few court cases caused by such kind of issues. He is the best person to explain such issues, I would say. -- PauloBecause Walter wouldn't be able to work on his current job any longer if he looks into other compiler vendors source code. IP laws are always a complicated issue.Unless you have an actual explanation as to why this would be the case, I'd simply regard this as FUD. I see how the viral nature of the GCC license might be a problem for that, but as far as LLVM is concerned, Walter would even be able to just rebrand Clang as DMC and ship it as a closed-source package. LLVM also doesn't require any copyright assignments, which might be an impediment for contributing any fixes back to GCC. David
Jan 11 2014
On Saturday, 11 January 2014 at 13:16:40 UTC, Paulo Pinto wrote:He is the best person to explain such issues, I would say.…which is precisely why I found it odd that you posted such an unqualified umbrella statement here in the first place. ;) No offense intended, but just speculating about Walter's motives doesn't really help the discussion at all. If I remember correctly, Walter joined the last bigger discussion on this issue here on the NG a year ago or so, and licensing issues were *not* one of the arguments that lasted. David
Jan 11 2014
On 11 January 2014 11:58, David Nadlinger <code klickverbot.at> wrote:On Friday, 10 January 2014 at 21:00:24 UTC, Paulo Pinto wrote:Remember when I told you that LLVM devs reverted commits made by core GCC developers because apparently there was no explicit contribution by them to LLVM? :-)Because Walter wouldn't be able to work on his current job any longer if he looks into other compiler vendors source code. IP laws are always a complicated issue.Unless you have an actual explanation as to why this would be the case, I'd simply regard this as FUD. I see how the viral nature of the GCC license might be a problem for that, but as far as LLVM is concerned, Walter would even be able to just rebrand Clang as DMC and ship it as a closed-source package. LLVM also doesn't require any copyright assignments, which might be an impediment for contributing any fixes back to GCC.
Jan 11 2014
On Saturday, 11 January 2014 at 13:22:52 UTC, Iain Buclaw wrote:Remember when I told you that LLVM devs reverted commits made by core GCC developers because apparently there was no explicit contribution by them to LLVM? :-)I don't recall the details, but I don't see how this is relevant to this discussion. There is a difference between requiring copyright assignment from contributors and being cautious about including code that you suspect to be incompatible with the (more liberal) license of your project. David
Jan 11 2014
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. 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
Jan 11 2014
On 12 January 2014 00:35, Kai Nacke <kai redstar.de> wrote:On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote: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... With LDC, you can use other platforms. E.g. it runs on Linux/PPC64. But youThis 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.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
Jan 12 2014
On Monday, 13 January 2014 at 05:04:46 UTC, Manu wrote:On 12 January 2014 00:35, Kai Nacke <kai redstar.de> wrote:Only recently LLVM developers really started caring about Windows, so it will take awhile until LLVM is a first class citizen. http://blog.llvm.org/2013/09/a-path-forward-for-llvm-toolchain-on.html -- PauloOn Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote: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...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.
Jan 12 2014
On Monday, 13 January 2014 at 05:04:46 UTC, Manu wrote:On 12 January 2014 00:35, Kai Nacke <kai redstar.de> wrote: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, KaiOn Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote: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...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.With LDC, you can use other platforms. E.g. it runs on Linux/PPC64. But youcan'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
Jan 13 2014
On 13 January 2014 21:40, Kai Nacke <kai redstar.de> wrote:On Monday, 13 January 2014 at 05:04:46 UTC, Manu wrote:Oooohh yeah, this is exciting! :D How about Win32? That's really important too, particularly since DMD doesn't support Win32 :/On 12 January 2014 00:35, Kai Nacke <kai redstar.de> wrote: On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote: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, KaiThis might have been brought up before but I couldn't find any threadIs 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...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.
Jan 13 2014
On Monday, 13 January 2014 at 12:47:09 UTC, Manu wrote:Oooohh yeah, this is exciting! :D How about Win32? That's really important too, particularly since DMD doesn't support Win32 :/You mean the 32 bit MSVC toolchain? SEH support is unlikely to happen until that Borland patent expires. David
Jan 13 2014
On Monday, 13 January 2014 at 12:47:09 UTC, Manu wrote:On 13 January 2014 21:40, Kai Nacke <kai redstar.de> wrote:Genuine question, I have never done any windows specific development: Why is Win32 a concern? Where is the overlap between requiring Win32 and high performance? Isn't 64 where it's at now? Is it windows tablets/phones???On Monday, 13 January 2014 at 05:04:46 UTC, Manu wrote:Oooohh yeah, this is exciting! :D How about Win32? That's really important too, particularly since DMD doesn't support Win32 :/On 12 January 2014 00:35, Kai Nacke <kai redstar.de> wrote: On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote: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, KaiThis might have been brought up before but I couldn't find any threadIs 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...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.
Jan 13 2014
On Monday, 13 January 2014 at 12:59:53 UTC, John Colvin wrote:On Monday, 13 January 2014 at 12:47:09 UTC, Manu wrote:The 64 bit version of Windows API is still called Win32, there was no change like the Win16, Win32, Win32s days. -- PauloOn 13 January 2014 21:40, Kai Nacke <kai redstar.de> wrote:Genuine question, I have never done any windows specific development: Why is Win32 a concern? Where is the overlap between requiring Win32 and high performance? Isn't 64 where it's at now? Is it windows tablets/phones???On Monday, 13 January 2014 at 05:04:46 UTC, Manu wrote:Oooohh yeah, this is exciting! :D How about Win32? That's really important too, particularly since DMD doesn't support Win32 :/On 12 January 2014 00:35, Kai Nacke <kai redstar.de> wrote: On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote: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, KaiThis might have been brought up before but I couldn't find any threadIs 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...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.
Jan 13 2014
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.LLVM is also the finalizer for HSAIL, AMD is using it for their linux port of C++AMP. But I would assume that ldc probably wouldn't have any issues generating HSA compatible code with minor modifications as is(as the LLVM backend will support it). I have no idea if GCC will support HSA or not however Microsoft is fully supporting it, as is ARM. So I wouldn't think that GCC would be to far behind on that one.
Jan 12 2014