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. 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