作為我們這一周期一直期待的變化,Ubuntu 19.10升級到GCC 9作為GCC 8的默認系統編譯器。
Ubuntu 19.10(和Ubuntu 20.04 LTS)將使用GCC 9 stable作為默認系統編譯器。 轉換發生在周日,GCC 9成為Eoan的默認編譯器。 Ubuntu習慣於在他們的xx.10版本中引入新的GCC版本,然后在他們的下一個xx.04中繼續使用相同的版本。因為GCC發布時間通常來得太晚,無法滿足他們的4月的發行版,因此GCC 9將用於Ubuntu 20.04的長期支持發行版。
GCC 9在5月份以GCC 9.1.0的形式穩定下來,GCC 9.1.0是當前穩定的版本,現在在Eoan存檔中。
GCC9 的功能亮點概述如下:
- 在C/C ++中對OpenMP 5.0的部分支持。
- 通過-std=c++2a 或-std=gnu++2a開關對C++ 2A規范的實驗支持。類似地,libstdc++改進了對C++ 2A的支持以及一些C++ 17的改進,包括不完整/實驗性的文件系統TS和網絡TS。還有英特爾的C++ 17並行算法的初始代碼。
- 最終合並了對D編程語言的支持。
- 許多Ada前端增強功能。
- 最初的AMD Zen 2 CPU支持(znver2)。
- 支持Arm Neoverse N1,Cortex-A76/A55和其他Cortex硬件。
- ARMv8.5分支目標識別支持和推測跟蹤支持。
- AMD GCN后端已合並,盡管GCC 9只能運行基本的單線程程序,而希望GCC 10我們會看到足夠的支持來開始運行OpenMP/OpenACC卸載。在GCC 9中,AMD GCN后端專為斐濟和Vega 10硬件而設計。
- 添加了C-SKY處理器后端,類似於最近Linux內核和其他地方的C-SKY支持。
- 重寫該端口后的OpenRISC支持。
- 添加了一個新的實時修補選項,以幫助Linux內核的實時修補工作。
- 通過新的--completion選項從shell獲得更好的bash自動完成支持。
- 各種診斷改進,包括將診斷轉儲為JSON格式的能力。
- Fortran增加了異步I / O支持和許多其他改進。
- 英特爾PTWRITE支持。
- 英特爾MPX(內存保護擴展)支持被刪除。
- Solaris 10支持已被棄用,如果沒有利益相關者加強,將在GCC 10中刪除。