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;
  • 前端现在存储有关许多源代码元素的更准确的信息,这使您可以在诊断中显示更详细的信息;
  • 改进了对重载函数、二元运算符、函数调用和格式字符串的诊断;
  • 添加了一些开发环境支持的针对一些常见错误(缺少括号、命名空间、拼写错误等)的自动修复。
库标准++
  • C++17 实现不再是实验性的;
  • 添加了并行算法, , , A 不再需要 -lstdc++fs;
  • 改进了对 C++2a 的实验支持( , 、std::bind_front 等);
  • 支持在Windows上打开路径包含非char字符的文件流;
  • 初步支持在 Windows 上;
  • 对 Networking TS 的初步支持。
D

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

Fortran语言
  • 全面支持异步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

添加评论