GCC can also compile code for Windows, Android, iOS, Solaris, HP-UX, AIX and DOS. == History == In late 1983, in an effort to bootstrap the GNU operating system, Richard Stallman asked Andrew S.
It has played an important role in the growth of free software, as both a tool and an example. 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.
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.
The FSF kept such close control on what was added to the official version of GCC 2.x (developed since 1992) that GCC was used as one example of the "cathedral" development model in Eric S.
Raymond's essay The Cathedral and the Bazaar. In 1997, a group of developers formed the Experimental/Enhanced GNU Compiler System (EGCS) to merge several experimental forks into a single project.
Mergers included g77 (Fortran), PGCC (P5 Pentium-optimized GCC), many C++ improvements, and many new architectures and operating system variants. While both projects followed each others changes closely, EGCS development proved considerably more vigorous, so much so that the FSF officially halted development on their GCC 2.x compiler, blessed EGCS as the official version of GCC, and appointed the EGCS project as the GCC maintainers in April 1999.
With the release of GCC 2.95 in July 1999 the two projects were once again united.
McGrawHill / Osborne, 2002.
GCC started out using LALR parsers generated with Bison, but gradually switched to hand-written recursive-descent parsers for C++ in 2004, and for C and Objective-C in 2006.
This does not impact the license terms of GCC source code. == See also == List of compilers MinGW LLVM/Clang == References == == Further reading == Using the GNU Compiler Collection (GCC), Free Software Foundation, 2008. GNU Compiler Collection (GCC) Internals, Free Software Foundation, 2008. An Introduction to GCC, Network Theory Ltd., 2004 (Revised August 2005).
This does not impact the license terms of GCC source code. == See also == List of compilers MinGW LLVM/Clang == References == == Further reading == Using the GNU Compiler Collection (GCC), Free Software Foundation, 2008. GNU Compiler Collection (GCC) Internals, Free Software Foundation, 2008. An Introduction to GCC, Network Theory Ltd., 2004 (Revised August 2005).
GCC started out using LALR parsers generated with Bison, but gradually switched to hand-written recursive-descent parsers for C++ in 2004, and for C and Objective-C in 2006.
The aim is to allow GCC plugins to be written in Python. * The MELT plugin provides a high-level Lisp-like language to extend GCC. The support of plugins was once a contentious issue in 2007. C++ transactional memory The C++ language has an active proposal for transactional memory.
This does not impact the license terms of GCC source code. == See also == List of compilers MinGW LLVM/Clang == References == == Further reading == Using the GNU Compiler Collection (GCC), Free Software Foundation, 2008. GNU Compiler Collection (GCC) Internals, Free Software Foundation, 2008. An Introduction to GCC, Network Theory Ltd., 2004 (Revised August 2005).
In addition, it currently requires three additional libraries to be present in order to build: GMP, MPC, and MPFR. In May 2010, the GCC steering committee decided to allow use of a C++ compiler to compile GCC.
In particular, this was decided so that GCC's developers could use the destructors and generics features of C++. In August 2012, the GCC steering committee announced that GCC now uses C++ as its implementation language.
With roughly 15 million lines of code in 2019, GCC is one of the biggest open source programs in existence.
This means that to build GCC from sources, a C++ compiler is required that understands ISO/IEC C++03 standard. On May 18, 2020, GCC moved away from ISO/IEC C++03 standard to ISO/IEC C++11 standard (i.e.
As of 2021 all front ends use hand-written recursive-descent parsers. Until GCC 4.0 the tree representation of the program was not fully independent of the processor being targeted.
All text is taken from Wikipedia. Text is available under the Creative Commons Attribution-ShareAlike License .
Page generated on 2021-08-05