Happy 30th birthday to GCC
shape-of-code.coding-guidelines.com
shape-of-code.coding-guidelines.com
One important activity at Cygnus was eliminating forks. People would make a local, non-portable change and then distribute the result (with source, thank you GPL!). At one point John had collected over 30 different version of gdb, which he eventually managed to wrangle into a single distro.
So when gcc development ground to a halt, and I realized we had to split off, I spent months on the phone with various key developers, and with rms. All the other devs were frustrated with what was going on, but feared a fork. The result we came up with wasn't owned by any one company (we had no interest at Cygnus in making a "proprietary" fork, whatever that would mean) but had a committee and developed a more formal process.
Of course later developments like git allowed much much finer forking granularity.
LLVM has been great for gcc. gcc development had slowed down IMHO and got better faster in order to stay ahead. These days I do a lot of compilation with LLVM first, switching to gcc for some different diagnostics, better standards conformance and cases where it generates better code (I'm using a mainline language, C++ on mainline CPUs, x86 & ARM, plus CUDA). I suspect I'll finally give up gcc in a year or two.
In an effort to bootstrap the GNU operating system, Richard Stallman asked Andrew S. Tanenbaum, the author of the Amsterdam Compiler Kit (also known as the Free University Compiler Kit) if he could use that software for GNU. When Tanenbaum told him that while the Free University was free, the compiler was not, Stallman decided to write his own.Stallman's initial plan was to rewrite an existing compiler from Lawrence Livermore Laboratory from Pastel to C with some help from Len Tower and others. Stallman wrote a new C front end for the Livermore compiler, but then realized that it required megabytes of stack space, an impossibility on a 68000 Unix system with only 64 KB, and concluded he would have to write a new compiler from scratch. None of the Pastel compiler code ended up in GCC, though Stallman did use the C front end he had written.
GCC was first released March 22, 1987, available by FTP from MIT. Stallman was listed as the author but cited others for their contributions, including Jack Davidson and Christopher Fraser for the idea of using RTL as an intermediate language, Paul Rubin for writing most of the preprocessor and Leonard Tower for "parts of the parser, RTL generator, RTL definitions, and of the Vax machine description."
It reminds me that the success of Stallman's free software movement is in no small part due to Stallman being an incredibly talented programmer...Emacs or GCC alone and separately would probably be enough to put him in a hacker pantheon.