Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
GNU Compiler Collection
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== EGCS fork{{Anchor|EGCS Fork}} === As 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 (software development)|fork]] of the compiler, provided they meet the GPL's terms, including its requirements to distribute [[source code]]. Multiple forks proved inefficient and unwieldy, however, and the difficulty in getting work accepted by the official GCC project was greatly frustrating for many, as the project favored stability over new features.<ref name="egcs">{{citation | last = Henkel-Wallace | first = David | title = A new compiler project to merge the existing GCC forks | url = https://gcc.gnu.org/news/announcement.html | date = August 15, 1997 | access-date = May 25, 2012 | postscript = . | archive-date = January 18, 2023 | archive-url = https://web.archive.org/web/20230118185814/https://gcc.gnu.org/news/announcement.html | url-status = live }}</ref> 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{{Citation needed|date=April 2025}} (EGCS)'' to merge several experimental forks into a single project.<ref name="egcs" /><ref name=":6" /> The basis of the merger was a development snapshot of GCC (taken around the 2.7.2 and later followed up to 2.8.1 release). Mergers included g77 (Fortran), PGCC ([[P5 (microarchitecture)|P5]] [[Pentium]]-optimized GCC),<ref name=":6" /> many C++ improvements, and many new architectures and [[operating system]] variants.<ref>{{Cite web|title=The Short History of GCC development|url=http://www.softpanorama.org/People/Stallman/history_of_gcc_development.shtml|access-date=2021-01-24|website=www.softpanorama.org|archive-date=November 9, 2022|archive-url=https://web.archive.org/web/20221109211504/https://softpanorama.org/People/Stallman/history_of_gcc_development.shtml|url-status=live}}</ref> While both projects followed each other's 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.<ref>{{Cite web|title=History - GCC Wiki|url=https://gcc.gnu.org/wiki/History#Reunification|access-date=2020-09-28|website=gcc.gnu.org|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185814/https://gcc.gnu.org/wiki/History#Reunification|url-status=live}}</ref><ref name=":6" /> GCC has since been maintained by a varied group of programmers from around the world under the direction of a steering committee.<ref name=":0">{{Cite web|url=https://gcc.gnu.org/steering.html|title=GCC steering committee - GNU Project|website=gcc.gnu.org|access-date=July 25, 2016|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185814/https://gcc.gnu.org/steering.html|url-status=live}}</ref> GCC 3 (2002) removed a front-end for [[CHILL]] due to a lack of maintenance.<ref>{{cite web|title=PATCH] Remove chill|url=https://gcc.gnu.org/ml/gcc-patches/2002-04/msg00887.html|access-date=July 29, 2010|website=gcc.gnu.org|archive-date=October 20, 2016|archive-url=https://web.archive.org/web/20161020222510/https://gcc.gnu.org/ml/gcc-patches/2002-04/msg00887.html|url-status=live}}</ref> Before version 4.0 the Fortran front end was <code>g77</code>, which only supported [[FORTRAN 77]], but later was dropped in favor of the new [[GNU Fortran]] front end that supports [[Fortran 95]] and large parts of [[Fortran 2003]] and [[Fortran 2008]] as well.<ref name="gcc_wiki_f2003">{{cite web|title=Chart of Fortran 2003 Features supported by GNU Fortran|url=https://gcc.gnu.org/wiki/Fortran2003Status|access-date=2009-06-25|publisher=[[GNU]]|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185814/https://gcc.gnu.org/wiki/Fortran2003Status|url-status=live}}</ref><ref name="gcc_wiki_f2008">{{cite web|title=Chart of Fortran 2008 Features supported by GNU Fortran|url=https://gcc.gnu.org/wiki/Fortran2008Status|access-date=2009-06-25|publisher=[[GNU]]|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185814/https://gcc.gnu.org/wiki/Fortran2008Status|url-status=live}}</ref> As of version 4.8, GCC is implemented in C++.<ref>{{Cite web|url=https://gcc.gnu.org/gcc-4.8/changes.html|title=GCC 4.8 Release Series — Changes, New Features, and Fixes - GNU Project|website=gcc.gnu.org|access-date=February 17, 2015|archive-date=December 8, 2015|archive-url=https://web.archive.org/web/20151208064435/https://gcc.gnu.org/gcc-4.8/changes.html|url-status=live}}</ref> Support for [[Cilk Plus]] existed from GCC 5 to GCC 7.<ref>{{Cite web|url=https://gcc.gnu.org/gcc-5/changes.html#c-family|title=GCC 5 Release Series — Changes, New Features, and Fixes|website=gcc.gnu.org|access-date=January 13, 2022|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185814/https://gcc.gnu.org/gcc-5/changes.html#c-family|url-status=live}}</ref><ref>{{Cite web|url=https://gcc.gnu.org/gcc-8/changes.html|title=GCC 8 Release Series — Changes, New Features, and Fixes|website=gcc.gnu.org|access-date=January 13, 2022|archive-date=November 29, 2018|archive-url=https://web.archive.org/web/20181129002653/http://gcc.gnu.org/gcc-8/changes.html|url-status=live}}</ref> GCC has been [[porting|ported]] to a wide variety of [[instruction set architecture]]s, and is widely deployed as a tool in the development of both free and [[proprietary software]]. GCC is also available for many [[embedded system]]s, including [[Symbian]] (called ''gcce''),<ref>{{cite web|url=http://www.inf.u-szeged.hu/symbian-gcc/|title=Symbian GCC Improvement Project|access-date=2007-11-08|archive-date=August 1, 2014|archive-url=https://web.archive.org/web/20140801121616/http://www.inf.u-szeged.hu/symbian-gcc/|url-status=live}}</ref> [[ARM architecture family|ARM]]-based, and [[Power ISA]]-based chips.<ref name="Linux Board Support Packages">{{cite web|last=|first=|date=|title=Linux Board Support Packages|url=http://www.freescale.com/webapp/sps/site/overview.jsp?code=CW_BSP&fsrch=1|url-status=dead|archive-url=https://web.archive.org/web/20110607140609/http://www.freescale.com/webapp/sps/site/overview.jsp?code=CW_BSP&fsrch=1|archive-date=2011-06-07|access-date=2021-01-24|website=}}</ref> The compiler can target a wide variety of platforms, including [[video game console]]s such as the [[PlayStation 2]],<ref name=":3">{{cite web|url=http://ps2stuff.playstation2-linux.com/gcc_build.html |title=setting up gcc as a cross-compiler |work=ps2stuff |date=2002-06-08 |access-date=2008-12-12 |url-status=dead |archive-url=https://web.archive.org/web/20081211044658/http://ps2stuff.playstation2-linux.com/gcc_build.html |archive-date=December 11, 2008 }}</ref> Cell SPE of PlayStation 3,<ref name=":4">{{Cite web|url=https://gcc.gnu.org/wiki/CompileFarm|title=CompileFarm - GCC Wiki|website=gcc.gnu.org|access-date=September 19, 2016|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185814/https://gcc.gnu.org/wiki/CompileFarm|url-status=live}}</ref> and [[Dreamcast]].<ref name=":5">{{cite web |url=http://www.ngine.de/gccguide.html |title=sh4 g++ guide |archive-url=https://web.archive.org/web/20021220025554/http://www.ngine.de/gccguide.html |archive-date=2002-12-20 |access-date=2008-12-12 }}</ref> It has been ported to more kinds of [[central processing unit|processors]] and operating systems than any other compiler.<ref name=":1">{{cite web|last=|first=|date=|title=Linux Information Project|url=http://www.linfo.org/gcc.html|access-date=2010-04-27|website=|publisher=LINFO|quote=The GCC has been ported to (i.e., modified to run on) more than 60 platforms, which is more than for any other compiler.|archive-date=January 3, 2023|archive-url=https://web.archive.org/web/20230103063841/http://www.linfo.org/gcc.html|url-status=live}}</ref>{{Self-published inline|date=January 2021}}{{Better source needed|date=January 2021}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)