GCC 9.1


GCC 9.1

3 月 9.1 日,GCC 第九版首次公開發布:GCC XNUMX。
與第八版相比,它包含許多重大改進和補充
版本。

一般變化

選項
新的內建功能
新屬性
其他

許多程式碼生成改進涉及:

  • 開關結構的生成;
  • 程式間優化;
  • 基於分析資訊的優化;
  • 裝配階段最佳化(LTO);

另外,gcov 的內部格式現在是 JSON,並且新選項 --使用熱度顏色 涉及根據程式碼行的使用頻率對程式碼行進行著色。

語言

實施的品質和完整性 開放ACC C、C++ 和 Fortran 語言不斷改進。

類別C語言
  • 已實現對OpenMP 5.0的部分支援;
  • 添加了功能 __builtin_convertvector;
  • 添加警告 -打包會員的W地址;
  • 改進了一些現有的警告;
  • 將錯誤數量的參數傳遞給巨集時的錯誤文字現在包括巨集本身的聲明;
  • 改進了拼字錯誤糾正建議。
C
  • 支援 _Static_assert,並帶有一個參數 -std=c2x(未來的 C 標準);
  • 新警告 -W絕對值,它捕獲像abs()這樣的函數的錯誤參數類型。
C + +中
  • 新警告: -W已棄用的副本,
    -Winit-列表-生命週期,
    -無冗餘移動,
    -W悲觀移動,
    -Wclass 轉換;
  • 正在努力實施未來標準的新功能 C++2a;
  • 前端現在儲存有關許多原始程式碼元素的更準確的信息,這使您可以在診斷中顯示更詳細的資訊;
  • 改進了對重載函數、二元運算子、函數呼叫和格式字串的診斷;
  • 新增了一些開發環境支援的針對一些常見錯誤(缺少括號、命名空間、拼字錯誤等)的自動修復。
libstdc++ 函式庫
  • C++17 實作不再是實驗性的;
  • 新增了並行演算法, , , A 不再需要 -lstdc++fs;
  • 改進了對 C++2a 的實驗支援( , 、std::bind_front 等);
  • 支援在Windows上開啟路徑包含非char字元的檔案流;
  • 初步支持在 Windows 上;
  • 對 Networking TS 的初步支持。
D

D 語言版本 2.076 包含在 GCC 中。

複式
  • 全面支援異步I/O;
  • 為 MILOC 和 MAXLOC 實作了 BACK 參數;
  • 實現了FINDLOC和IS_CONTIGOUS函數;
  • 已實現存取複數分量的語法:c%re 和 c%im;
  • 實作語法 str%len 和 a%kind;
  • 實作了 C 描述符和 ISO_Fortran_binding.h 標頭;
  • 當參數之一為 NaN 時,放寬了 MAX 和 MIN 函數結果的要求;
  • 添加選項 -fdec-包括;
  • 新增指令 內建.
libgccjit

其他

許多特定於體系結構和作業系統的變更。

來源: linux.org.ru

添加評論