Thread overview
D compiler as part of GCC
Jan 18, 2010
Jerry Quinn
Jan 18, 2010
Simen kjaeraas
Jan 18, 2010
Jerry Quinn
Jan 18, 2010
Leandro Lucarella
Jan 20, 2010
Vincenzo Ampolo
Mar 04, 2010
Steve Teale
Mar 08, 2010
Jerry Quinn
Mar 09, 2010
Steve Teale
January 18, 2010
Hi, folks,

I'm interested in creating a D front end for GCC that would be part of the GCC codebase.  My feeling is that a GDC that is part of GCC distributions will likely have more life than one that must be updated whenever a new GCC release comes out.  As with linux kernel in-tree drivers being kept up to date, an integrated GDC would tend to move forward as well.

To do this though, copyright on the code must be assigned to the FSF.  This means that even though the DMD front end sources are licensed under the GPL, they cannot be directly used to write this front end as the copyright is owned by DigitalMars.  Everyone who contributes code must not look at the DMD compiler source code to avoid accidentally contributing code illegally.  Therefore, this will be a completely new implementation of D.

The obvious disadvantage of doing this is that it will be a slow process to get to a working D compiler.  However, one advantage to the D world is firming up and validating the language specification so that the language is not defined by what the DMD compiler does.

My personal desire is to implement (and track) the 2.0 language since I would like to see that feature set available through GCC.  Second, by the time a working front end becomes part of GCC, the 2.0 language will likely be complete.

One question I have (of many) is whether a different name should be used.  If this is called GDC there will be some confusion with the current GDC.  What thoughts do you all have?

In general is there interest in this project, especially contributing to it?

Thanks,
Jerry

January 18, 2010
Jerry Quinn <jlquinn@optonline.net> wrote:

> One question I have (of many) is whether a different name should be used.  If this is called GDC there will be some confusion with the current GDC.  What thoughts do you all have?

If the project is to replace GDC, then taking its name sounds good to
me. Otherwise, GCD (Gnu Compiler for D) is low-hanging fruit.

-- 
Simen
January 18, 2010
Jerry Quinn, el 17 de enero a las 21:43 me escribiste:
> Hi, folks,
> 
> I'm interested in creating a D front end for GCC that would be part of the GCC codebase.  My feeling is that a GDC that is part of GCC distributions will likely have more life than one that must be updated whenever a new GCC release comes out.  As with linux kernel in-tree drivers being kept up to date, an integrated GDC would tend to move forward as well.

I think that if a D compiler is included with the official GCC distribution, it would be a massive step forward for the language. It would make it's adoption much easier since people tend to trust a lot in GCC.

> My personal desire is to implement (and track) the 2.0 language since I would like to see that feature set available through GCC.  Second, by the time a working front end becomes part of GCC, the 2.0 language will likely be complete.

If you are really going to do this, I strongly suggest that you make the new front-end as back-end independent as possible, so it can be used by other back-ends like LLVM. People is not very happy in general with DMD front-end, so having a new front-end that's not tied to DMD's back-end could be a huge win for other projects too. That could encourage third party tools too, like code analyzers, or even make it suitable for embedding in IDEs, etc. I think it would be best to even make the front-end project a separated from the whole compiler.

> One question I have (of many) is whether a different name should be used.  If this is called GDC there will be some confusion with the current GDC.  What thoughts do you all have?

I think too that if this compiler is intended to replace the current GDC (I'm not convinced that's a good idea, maybe it would be nice to have both front-end options), taking over the name is OK, otherwise a new name would be necessary.

> In general is there interest in this project, especially contributing to it?

I'm *very* interested, not so sure I could contribute a lot though :(

-- 
Leandro Lucarella (AKA luca)                     http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
Agitamos toda la zona de la paleta al horno, vemos que una luz nos
atraviesa toda la zona intestinal...
	-- Sidharta Kiwi
January 18, 2010
Simen kjaeraas Wrote:

> Jerry Quinn <jlquinn@optonline.net> wrote:
> 
> > One question I have (of many) is whether a different name should be used.  If this is called GDC there will be some confusion with the current GDC.  What thoughts do you all have?
> 
> If the project is to replace GDC, then taking its name sounds good to me. Otherwise, GCD (Gnu Compiler for D) is low-hanging fruit.

Truthfully, I would be reasonably happy with either GDC becoming vibrant again, or D becoming part of the official GCC tree.

GDC has been pretty idle, unfortunately.  If D in GCC were to gain momentum, then
I would hope to replace it, otherwise it probably won't matter if it has the same name.

Jerry

January 19, 2010
Jerry Quinn wrote:
> Everyone who contributes code must not look at the DMD compiler
> source code to avoid accidentally contributing code illegally.
> Therefore, this will be a completely new implementation of D.
...
> One question I have (of many) is whether a different name should be
> used.  If this is called GDC there will be some confusion with the
> current GDC.  What thoughts do you all have?

If you are doing a completely new implementation, you should pick a
new name for it. Something like the "Free D Compiler", or whatever.
(like "GNU Pascal Compiler (GPC)" vs. "Free Pascal Compiler (FPC)")


> The obvious disadvantage of doing this is that it will be a slow
> process to get to a working D compiler.  However, one advantage to
> the D world is firming up and validating the language specification
> so that the language is not defined by what the DMD compiler does.

Is the language specification available under a more open license ?
(I was under the impression that it is not freely redistributable)
At least the source code is under GPLv1, even if also copyrighted...

--anders
January 20, 2010
Jerry Quinn wrote:

> Hi, folks,

Hi Jerry

> 
> I'm interested in creating a D front end for GCC that would be part of the GCC codebase.  My feeling is that a GDC that is part of GCC distributions will likely have more life than one that must be updated whenever a new GCC release comes out.  As with linux kernel in-tree drivers being kept up to date, an integrated GDC would tend to move forward as well.

Yes, you are right.

> 
> To do this though, copyright on the code must be assigned to the FSF. This means that even though the DMD front end sources are licensed under the GPL, they cannot be directly used to write this front end as the copyright is owned by DigitalMars.  Everyone who contributes code must not look at the DMD compiler source code to avoid accidentally contributing code illegally.  Therefore, this will be a completely new implementation of D.

Well, things are not so "black or white". Walter is a very kind person and i'm 100% sure he will release the copyright if there is a chance to have the gdc frontend integrated in the gcc codebase.

> 
> The obvious disadvantage of doing this is that it will be a slow process to get to a working D compiler.  However, one advantage to the D world is firming up and validating the language specification so that the language is not defined by what the DMD compiler does.

It's the main part i'm fed up about D. No clear language specifications, if you want it, you have to put your hands into the dmd frontend.

> 
> My personal desire is to implement (and track) the 2.0 language since I would like to see that feature set available through GCC.  Second, by the time a working front end becomes part of GCC, the 2.0 language will likely be complete.

This is the goal of all the people involved in the gdc project. However, a
not stable language specification (or worse, not existent) makes all this
work very hard to do.

> 
> One question I have (of many) is whether a different name should be used. If this is called GDC there will be some confusion with the current GDC. What thoughts do you all have?

What do you mean? do you wanna start another D frontend for gcc? Well, i don't suggest you to start this way. A compiler is one of the most complex software a human is able to think. Compilers need a group of skilled people and, mainly, many years to be stable and to be production-friendly.

Since GDC was a dead project, me and Michael thought that we could help in supporting that code and do enhancements. This leads us to make a GDC for hosted on bitbucket ( http://bitbucket.org/goshawk/gdc/wiki/Home ).

If you are interested in gdc consider to join us and continue in supporting the d frontend.

> 
> In general is there interest in this project, especially contributing to it?

There is interest in this project of course, but real life works take all the time sometimes. But with a large team of developers (and maybe a better language specification) we would be able to produce and release a good D compiler based on the gcc backend.

We are trying to align the current trunk of the project to lastest dmd frontend and gcc backend. After we reach that goal we can start thinking to further plans.

I'm here if you have more questions or suggestions :)

> 
> Thanks,
> Jerry

-- 
Vincenzo Ampolo (goshawk)

http://goshawknest.wordpress.com
March 04, 2010
> In general is there interest in this project, especially contributing to it?
> 

Did anything come of this and the ensuing discussions?

Steve


March 08, 2010
Steve Teale Wrote:

> > In general is there interest in this project, especially contributing to it?
> > 
> 
> Did anything come of this and the ensuing discussions?

At the moment, Walter is considering it.  Beyond that I don't know and don't want to put words in anyone's mouth.

I've been playing with writing one on my own in the meantime.  I fully expect it to be throwaway at such time as the DMD front end is contributed to the GCC project.  But, it's interesting to do anyway and I'm learning more about the front end of GCC in the process.

So far I've got most of the lexer and part of the parsing pass before semantic analysis.  That's the easy stuff.

Jerry

March 09, 2010
On Sun, 07 Mar 2010 21:25:11 -0500, Jerry Quinn wrote:

> Steve Teale Wrote:
> 
>> > In general is there interest in this project, especially contributing to it?
>> > 
>> 
> I've been playing with writing one on my own in the meantime.  I fully expect it to be throwaway at such time as the DMD front end is contributed to the GCC project.  But, it's interesting to do anyway and I'm learning more about the front end of GCC in the process.
> 
> So far I've got most of the lexer and part of the parsing pass before semantic analysis.  That's the easy stuff.
> 
> Jerry

I'm trying - at a low effort level - to get the current GDC2 working with GCC-4.4.3. There has been pretty substantial surgery in 4.4, so it is not clear how to achieve the equivalent of the 4.3.4 GCC patches.

Steve