GNUコンパイラコレクション

出典: フリー百科事典『ウィキペディア(Wikipedia)』
GNU Compiler Collection
開発元 Free Software Foundation
初版 1987年3月22日 (37年前) (1987-03-22)[1]
最新版

13.2 / 2023年7月27日 (10か月前) (2023-07-27)

リポジトリ ウィキデータを編集
対応OS 多くのUnix系OSWindows(一部)
プラットフォーム クロスプラットフォーム
サポート状況
種別 コンパイラ
ライセンス GPL
公式サイト gcc.gnu.org ウィキデータを編集
テンプレートを表示

GNU Compiler CollectionGNUGCCGNU

[]


 CC++Objective-CObjective-C++FortranAdaGoD[2] 7Java[3]

CGCC GNU C Compiler  GNU C Compiler  GNU C Compiler GCC GNU C Compiler gccGNU C++G++GNU JavaGCJGNU AdaGNAT

CGCCANSI (ANSI X3.159-1989) C (OS) CANSIGCCANSIGCCK&RCOSGNUGCCANSI

[]


1985 (MIT) PastelPascalLeonard H. Tower, Jr.CGNU19872012Lawrence CrowlDiego NovilloC++

EGCS[]


EGCS ([4]Experimental/Enhanced GNU Compiler System) 1997GCC 2.8CygnusEGCS Steering CommitteeGCC Steering CommitteeGCC19994GCCEGCSGCCGCCGCC Steering CommitteeGCCGNU Compiler Collection[5]19997GCC 2.95
GCCの主なバージョン[6]
日付 バージョン 内容
1999年7月31日 2.95 1999年4月のGCC/EGCS再統合以来のGCCの最初のリリースであり、ほぼ1年分の新しい開発とバグ修正が含まれている。
2001年6月18日 3.0
2002年5月15日 3.1 ほとんどのELFプラットフォームの既定のデバッグ形式がDWARF2に。
2002年8月14日 3.2
2003年5月13日 3.3
2004年4月18日 3.4 GCCの実装がK&RからC89に変更。新しいプロシージャ間最適化を実装。
2005年4月20日 4.0.0 tree ssaブランチをマージ。既存のRTL表現よりも高レベルの中間表現に基づく完全に新しい最適化フレームワークを採用。
2007年5月13日 4.2.0 OpenMP 2.5サポート
2008年3月5日 4.3.0 Intel Core 2とAMD Geodeプロセッサのサポートを強化
2009年4月21日 4.4.0 大量の新機能を含んだメジャーリリースバージョン。Graphiteブランチが統合され、新しいループ最適化のフレームワークを採用。
2010年4月14日 4.5.0 C++0xの実験的サポート (ラムダ式、型変換演算子、raw string)。新しいリンク時最適化(LTO)のフレームワークを採用。
2011年3月25日 4.6.0 Intel Sandy Bridgeプロセッサに対応 (AVX拡張命令セットも対応)
2012年3月22日 4.7.0 プロシージャ間最適化(IPO)の改善
2013年3月22日 4.8.0 GCCの実装がCからC++98に変更された。アドレスサニタイザ、スレッドサニタイザが追加。新しいローカルレジスタアロケータ(LRA)が実装。DWARF4が既定のデバッグ形式に。
2014年4月22日 4.9.0 C++14の機能追加、OpenMP 4.0対応。未定義動作サニタイザが追加。リンク時最適化の改善。
2015年4月22日 5.1 CのデフォルトがC11のGNU拡張に。未定義動作サニタイザの新しいオプション。ポインタ境界チェッカー。
2016年4月27日 6.1 C++14がデフォルトに。OpenMP 4.5をフルサポート。配列境界チェッカー。
2017年5月2日 7.1 C++17の実験的サポート。アドレスサニタイザの新しいオプション。
2018年5月2日 8.1 C17をサポート。エラーメッセージを改善。
2019年5月3日 9.1
2020年5月7日 10.1 C++14とC++17の間のABIの非互換性が修正。
2021年4月27日 11.1 GCCの実装がC++11に変更された。C++17がデフォルトに。DWARF5が既定のデバッグ形式に。
2021年5月14日 8.5
2021年6月1日 9.4
2021年6月28日 11.2
2022年4月21日 11.3
2022年5月6日 12.1 シャドーコールスタックサニタイザがAArch64に追加。
2022年5月9日 9.5
2022年6月28日 10.4
2022年8月19日 12.2
2023年4月26日 13.1
2023年5月8日 12.3 AMD Zen 4プロセッサーのサポート。(-march=znver4)

構成[編集]


GCC

C++Java

GCCCPU (RTL) 使

CGCCbisonflex使GNU C

GCC42GENERICGIMPLESSARTLCC++bisonflex使

影響と評価[編集]

貢献[編集]


GCCOSDOSDJGPPEMXCLinuxFreeBSDOSGCCLinuxGCCGNU[7]

OS GCCGCC


批判[編集]


GCCGNU General Public License3GPLOSGCCFreeBSD2012GCCClang/LLVM[8]

GNU C[]


GNU C ANSIISOGCCGCCC&

C99C

asmGCC

GCC (G++)使GCCProPolice[1]

[]


GCCCPURISC CPU 

20054GCC4.0GCC3.x GCC4.2CC++FortranOpenMPGCC4.3使3.x

20104GCC4.5[9]

1990GCC1.x2.xMC680x0[10]68k

1990PGCC PentiumGCCegcsPentium CPU[11]

サポートするアーキテクチャ[編集]


脚注[編集]



(一)^ GCC Releases.  GNU Project. 202418

(二)^ Using the GNU Compiler Collection (GCC): G++ and GCC(Version 9.3). 2020318

(三)^ Using the GNU Compiler Collection (GCC): G++ and GCC(Version 6.5). 2020318

(四)^ The initial egcs project announcement - GNU Project - Free Software Foundation (FSF)

(五)^ History - GCC Wiki

(六)^ GCC Releases - GNU Project. gcc.gnu.org. 2022618

(七)^ Linux

(八)^ FreeBSD takes another step toward GPL escape - TechRepublic2012117

(九)^ Hubička, Honza (2014421). Honza Hubička's Blog: Linktime optimization in GCC, part 1 - brief history. Honza Hubička's Blog. 2022619

(十)^ 2 COh!X 1990-01 

(11)^ PGCC: The Pentium Compiler | Using the GNU Compiler Collection | InformIT. www.informit.com. 2022618

関連項目[編集]

外部リンク[編集]