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!
== Supported languages == {{As of|alt=As of the 15.1 release| 2023|04|post=,}} GCC includes front ends for [[C (programming language)|C]] (<code>gcc</code>), [[C++]] (<code>g++</code>), [[Objective-C]], [[Objective-C#Objective-C++|Objective-C++]], [[Fortran]] (<code>[[gfortran]]</code>), [[Ada (programming language)|Ada]] ([[GNAT]]), [[Go (programming language)|Go]] (<code>gccgo</code>), [[D (programming language)|D]] (<code>gdc</code>, since 9.1),<ref>{{cite web | url=https://gcc.gnu.org/gcc-9/changes.html#d | title=GCC 9 Release Series β Changes, New Features, and Fixes - GNU Project | access-date=May 7, 2019 | archive-date=February 19, 2022 | archive-url=https://web.archive.org/web/20220219120525/https://gcc.gnu.org/gcc-9/changes.html#d | url-status=live }}</ref><ref>{{Cite web|title=The D Language Front-End Finally Merged Into GCC 9 - Phoronix|url=https://phoronix.com/scan.php?page=news_item&px=GCC-9-Merges-D-Language|access-date=2021-01-19|website=phoronix.com|archive-date=May 17, 2022|archive-url=https://web.archive.org/web/20220517184343/https://www.phoronix.com/scan.php?page=news_item&px=GCC-9-Merges-D-Language|url-status=live}}</ref> [[Modula-2]] (<code>gm2</code>, since 13.1),<ref>{{cite web | url=https://gcc.gnu.org/gcc-13/changes.html#modula2 | title=GCC 13 Release Series β Changes, New Features, and Fixes - GNU Project | access-date=June 23, 2023 | archive-date=May 26, 2023 | archive-url=https://web.archive.org/web/20230526084642/http://gcc.gnu.org/gcc-13/changes.html#modula2 | url-status=live }}</ref><ref>{{Cite web |url=https://www.theregister.com/2022/12/16/gcc_13_will_support_modula2/ |title=GCC 13 to support Modula-2: Follow-up to Pascal lives on in FOSS form |date=2022-12-16 |access-date=2022-12-19 |last=Proven |first=Liam |archive-date=December 19, 2022 |archive-url=https://web.archive.org/web/20221219080641/https://www.theregister.com/2022/12/16/gcc_13_will_support_modula2/ |url-status=live }}</ref> [[Rust (programming language)|Rust]] (<code>gccrs</code>, since 15.1) and [[COBOL]] (<code>gcobol</code>, since 15.1) programming languages,<ref name=":7">{{cite web|url=https://gcc.gnu.org/frontends.html|title=GCC Front Ends|publisher=gnu.org|access-date=November 25, 2011|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185814/https://gcc.gnu.org/frontends.html|url-status=live}}</ref> with the [[OpenMP]] and [[OpenACC]] parallel language extensions being supported since GCC 5.1.<ref name=":2" /><ref>{{Cite web|url=https://gcc.gnu.org/gcc-5/changes.html|title=GCC 5 Release Series β Changes, New Features, and Fixes - GNU Project|website=gcc.gnu.org|access-date=April 23, 2015|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185814/https://gcc.gnu.org/gcc-5/changes.html|url-status=live}}</ref> Versions prior to GCC 7 also supported [[Java (programming language)|Java]] (<code>[[GNU Compiler for Java|gcj]]</code>), allowing compilation of Java to native machine code.<ref>{{cite web|title=GCC 7 Release Series|url=https://gcc.gnu.org/gcc-7/changes.html#java|access-date=March 20, 2018|publisher=gnu.org|archive-date=September 2, 2020|archive-url=https://web.archive.org/web/20200902223230/https://gcc.gnu.org/gcc-7/changes.html#java|url-status=live}}</ref> Third-party front ends exist for many languages, such as [[ALGOL 68]],<ref>{{cite web |last1=E. Marchesi |first1=Jose |title= GCC Wiki: Algol 68 Front-End |url=https://gcc.gnu.org/wiki/Algol68FrontEnd |website=gcc.gnu.org}}</ref> [[Pascal (programming language)|Pascal]] (<code>[[GNU Pascal|gpc]]</code>), [[Mercury (programming language)|Mercury]], [[Modula-3]], [[VHDL]] (<code>GHDL</code>) and [[PL/I]].<ref name=":7" /> A few experimental branches exist to support additional languages, such as the GCC [[Unified Parallel C|UPC]] compiler for [[Unified Parallel C]].<ref>{{cite web|url=http://www.gccupc.org/|title=GCC UPC (GCC Unified Parallel C)|publisher=Intrepid Technology, Inc.|date=2006-02-20|access-date=2009-03-11|archive-date=February 11, 2010|archive-url=https://web.archive.org/web/20100211142352/http://www.gccupc.org/|url-status=dead}}</ref><ref>{{Cite web|last=Spengler|first=Brad|date=12 January 2021|title=Open Source Security, Inc. Announces Funding of GCC Front-End for Rust|url=https://opensrcsec.com/open_source_security_announces_rust_gcc_funding|access-date=|website=|archive-date=April 25, 2021|archive-url=https://web.archive.org/web/20210425170408/https://opensrcsec.com/open_source_security_announces_rust_gcc_funding|url-status=live}}</ref>{{Better source needed|date=January 2021}} Regarding language version support for C++ and C, since GCC 11.1 the default target is ''gnu++17'', a superset of [[C++17]], and ''gnu11'', a superset of [[C11 (C standard revision)|C11]], with strict standard support also available. GCC also provides experimental support for [[C++20]] and [[C++23]].<ref>{{Cite web|title=C++ Standards Support in GCC|url=https://gcc.gnu.org/projects/cxx-status.html|access-date=May 17, 2021|archive-date=April 20, 2022|archive-url=https://web.archive.org/web/20220420114133/https://gcc.gnu.org/projects/cxx-status.html|url-status=live}}</ref>
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)