嵌入式Linux中文站

GCC 8.1 发布,新增大量功能


GCC

GCC 8.1 发布,该版本是一个主要版本,包含了一些新功能以及其它许多功能增强。

C++前端现在已经为即将推出的 C++2a 草案中的一些部分提供了实验性支持,同时 -std = c++2a 和 -std = gnu++2a 选项,以及 libstdc ++ 库还有一些 C++17 和 C++2a 草稿库特性也实现了。

此版本在诊断功能方面具有显着的改进,包括位置、位置范围和 fix-it 提示(特别是 在 C++前端),并添加了各种新的警告。

配置文件驱动的优化得到了显着改善,现在在 x86 上功能默认分为热区和冷区。链接时间优化现在有一种发布 DWARF 调试信息的新方法,这使得 LTO 优化的代码更具可调试性。新的循环优化器也做了一些改进与新增特性,像 -ftree-loop-distribution、-floop-unroll-and-jam 和 -floop-interchange 在默认情况下已启用 -O3。

AArch64 目标现在支持可伸缩向量扩展,以运行时确定的元素数量为特征向量。

同时有一些需要注意的事项:

  • 已删除支持过时的 SDB / coff 调试信息格式,选项 -gcoff 不再执行任何操作。
  • C 和 C++ 的 Cilk+ 扩展已被删除。
  • C 和 C++ 的 MPX 扩展已被弃用,并将在未来版本中删除。
  • std::atomic<void*> 扩展和类似 std::atomic<R(*)()> 的输入方式已经被弃用。
  • 非标准的 C++0x std :: copy_exception 函数已经被删除,使用 std :: make_exception_ptr 来替换。
  • GCC 8 已经宣布废弃最近未在 GCC 中维护且未经测试的 powerpc*-*-*spe* 目标端口,除非有活动来恢复它们,否则 GCC 的下一个版本将永久删除它们的源代码。

详情见 发布公告 。

GCCGNU Compiler CollectionGNU 编译器套装)是一套由 GNU 开发的编程语言编译器。它是一套以 GPL 及 LGPL 许可证所发行的自由软件,也是 GNU 计划的关键部分,同时也是类 Unix 及苹果计算机 Mac OS X 操作系统的标准编译器。GCC(特别是其中的 C 语言编译器)也常被认为是跨平台编译器的事实标准。

GCC 原名为 GNU C 语言编译器GNU C Compiler),因为它原本只能处理 C 语言。随后增加了处理 C++的能力,再之后也变得可处理 Fortran、Pascal、Objective-C、Java,以及 Ada 等多种语言。

本文永久更新链接:http://embeddedlinux.org.cn/emb-linux/industry-news/201805/07-8153.html



分享:

评论