This is the mail archive of the
mailing list for the GCC project.
Re: History of GCC
On 10/26/16, Ian Lance Taylor <firstname.lastname@example.org> wrote:
> On Wed, Oct 26, 2016 at 9:31 AM, Will Hawkins <email@example.com> 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.
The Objective C++ frontend was contribute by Apple. The earliest
proposal I can find for adding it was in 2001 for GCC 3.x:
However, it didn't actually make it in to the FSF version until 4.1:
Personally, I think one of the interesting stories of GCC history is
how Apple used to be really involved in GCC development until 2007, at
which point the GPL3 and iPhone came out, and Apple abandoned GCC for
llvm/clang. If you read through the mailing list archives on
gcc.gnu.org, you can find all sorts of emails from people with "at
apple dot com" email addresses in the early 2000s, until they just
sort of stopped later that decade. Even llvm/clang was originally just
another branch of gcc, and Chris Lattner was even going to contribute
it and keep it part of gcc, but then he never got around to getting
his copyright assignment paperwork filed, and then Apple turned it
into a separate project:
> 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.
> 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