On 10/26/2016 01:17 PM, Will Hawkins wrote:
On Wed, Oct 26, 2016 at 1:15 PM, Ian Lance Taylor <i...@google.com> wrote:
On Wed, Oct 26, 2016 at 9:31 AM, Will Hawkins <wh...@virginia.edu> wrote:
Thank you for your response! I don't think that there has to be
controversy to be interesting. Obviously that split/reunification was
important, but I think that there might even be some value in
documenting the minutia of the project's growth. In other words, what
was the process for incorporating each new version of the C++
standard? Who and why did GCC start a frontend for X language? Things
like that.
It is easier to answer specific questions.

There have always been GCC developers that have tracked the evolution
of C++.  The first C++ standard was of course in 1998, at which point
the language was over 10 years old, so there were a lot of C++
language changes before then.  GCC has generally acquired new language
features as they were being adopted into the standard, usually
controlled by options like the current -std=c++1z.  This of course
means that the new features have shifted as the standard has shifted,
but as far as I know that hasn't happened too often.

GCC started as a C compiler.  The C++ frontend was started by Michael
Tiemann around 1987 or so.  It started as a patch and was later
incorporated into the mainline.

The Objective C frontend was started at NeXT.  They originally
intended to keep it proprietary, but when they understood that the GPL
made that impossible they contributed it back.  I forget when the
Objective C++ frontend came in.

Cygnus Support developed the Chill and, later, Java frontends.  The
Chill frontend was removed later, and in fact the Java frontend was
removed just recently.

As I recall Fortran was a hobbyist project that eventually made it in.
There were two competing forks, I think.  I don't remember too much
about that off the top of my head.
There was a split between what would become gfortran and what I still think is g95 (www.g95.org). gfortran was stood up at gcc-4.0 I think. The earlier g77 front end was just too difficult to repair. Also, Fortran-90, 95 were out with many useful changes and people wanted to add them to a new codebase. The author of g95 developed a pure GPL (not library LGPL version of the Fortran runtime.) This was the split.
This was in mid 2000 or so.

I am a numerics geek. The fact that gcc has both C++ and Fortran in a single kit is very important to me. I think it maybe one of the last systems that has both. Certainly it is the only Free suite that does.

The Fortran developers* have kept up rather aggressively with Fortran-95, 2000, 2008 and TRs.
* my contributions are exclusively to C++, and the C++ linrary.

The Ada frontend was developed at AdaCore.

The Go frontend was written by me, mostly because I like Go and I've
been working on GCC for a long time.  I work at Google, and Go was
developed at Google, but there wouldn't be a GCC Go frontend if I
hadn't decided to write one.

There is a Modula frontend that is always close to getting in.  I
think there is a Pascal frontend out there too, somewhere.  And a D
frontend.

Ian
Wow, thanks Ian! This is awesome stuff! As I read through it, I may
have some additional questions. If I do, would you mind if I emailed
you directly? Thanks again for taking the time to write all this down!
Fascinating!

Will


Reply via email to