EGCS fork Īs GCC was licensed under the GPL, programmers wanting to work in other directions-particularly those writing interfaces for languages other than C-were free to develop their own fork of the compiler, provided they meet the GPL's terms, including its requirements to distribute source code. While Stallman considered GNU Emacs as his main project, by 1990, GCC supported thirteen computer architectures, was outperforming several vendor compilers, and was used commercially by several companies.
Salus, the GNU compiler arrived just at the time when Sun Microsystems was unbundling its development tools from its operating system, selling them separately at a higher combined price than the previous bundle, which led many of Sun's users to buy or download GCC instead of the vendor's tools.
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." Described as the "first free software hit" by Peter H. GCC was first released March 22, 1987, available by FTP from MIT.
None of the Pastel compiler code ended up in GCC, though Stallman did use the C front end he had written. 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.
His initial plan was to rewrite an existing compiler from Lawrence Livermore National Laboratory from Pastel to C with some help from Len Tower and others. When Tanenbaum advised him that the compiler was not free, and that only the university was free, Stallman decided to work on a different compiler. Tanenbaum, the author of the Amsterdam Compiler Kit (also known as the Free University Compiler Kit) for permission to use that software for GNU. In late 1983, in an effort to bootstrap the GNU operating system, Richard Stallman asked Andrew S. GCC can also compile code for Windows, Android, iOS, Solaris, HP-UX, AIX and DOS. Most BSD family operating systems also switched to GCC shortly after its release, although since then, FreeBSD, OpenBSD and Apple macOS have moved to the Clang compiler, largely due to licensing reasons. GCC is also available for many embedded systems, including ARM-based and Power ISA-based chips.Īs well as being the official compiler of the GNU operating system, GCC has been adopted as the standard compiler by many other modern Unix-like computer operating systems, including most Linux distributions. GCC has been ported to more platforms and instruction set architectures than any other compiler, and is widely deployed as a tool in the development of both free and proprietary software. The OpenMP and OpenACC specifications are also supported in the C and C++ compilers. Front ends were later developed for Objective-C, Objective-C++, Fortran, Ada, D and Go, among others. It was extended to compile C++ in December of that year. When it was first released in 1987 by Richard Stallman, GCC 1.0 was named the GNU C Compiler since it only handled the C programming language.
It has played an important role in the growth of free software, as both a tool and an example. With roughly 15 million lines of code in 2019, GCC is one of the biggest free programs in existence. GCC is a key component of the GNU toolchain and the standard compiler for most projects related to GNU and the Linux kernel.
The Free Software Foundation (FSF) distributes GCC as free software under the GNU General Public License (GNU GPL). The GNU Compiler Collection ( GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. GPLv3+ with GCC Runtime Library Exception