附录 A. 版本 9.0 的更改


以下章节记录了 Red Hat Developer Toolset 9.0 中引入的功能和兼容性更改。

A.1. GCC 的更改

Red Hat Developer Toolset 9.0 带有 GCC 9.3.1

从以前的 Red Hat Developer Toolset 版本开始添加了或修改了以下功能:

常规改进

  • 接受 byte-size 参数的所有命令行选项现在接受 64 位整数和标准 SI 和 IEC 后缀。
  • 添加了一个新选项: -flive-patching=[inline-only-static|inline-clone]。它为实时补丁提供了安全编译。
  • 改进了 GCC 诊断:

    • 左侧边缘现在显示行号。要配置此功能,请使用 the -fno-diagnostics-show-line-numbers 选项。
    • 现在,源代码的区域可以标记为显示相关信息,例如表达式中的类型。要禁用标签,请使用 the -fno-diagnostics-show-labels 选项。
  • 校准相关的选项 -falign-functions,-falign-labels,-falign-loops, and -falign-jumps 现在支持二级对齐,如 example -falign-loops=n:m:n2:m2
  • 添加了一个新的性能分析选项: -fprofile-filter-files-fprofile-exclude-files。这些选项有助于过滤检测哪些源文件。
  • 添加了以下内置功能:

    • __builtin_expect_with_probability 函数为 optimizer 提供分支预测可能提示。
    • __builtin_has_attribute 函数决定是否使用属性声明函数、类型或变量。
    • __builtin_speculation_safe_value 函数可帮助缓解不安全的规范执行。
  • 添加了新的 copy 功能属性。将其与功能、变量或类型一起使用。
  • 添加了大量代码生成改进,包括流程间、配置集驱动的和链接时间优化改进,例如:

    • 通过将不同的策略用于交换机问题单的子集,改进了切换扩展。策略包括跳过表、位测试和决策树。
  • GCOV 命令行工具有所改进。例如,GCOV 工具的中间格式现在是一个新的 JSON 格式。

语言功能

与语言相关的显著变化包括:

C 系列

  • C 和 C++ 编译器现在部分支持 OpenMP 规范的版本 5.0。
  • 为向量转换添加了新的扩展 __builtin_convervector
  • 添加了一个新的 warning -Waddress-of-packed-member。它默认是启用的,并从 struct 或 union 中打包成员的地址发出与未对齐的指针值相关的警告。
  • 一些现有警告会被改进。

C

  • 添加了对 -std=c2x 的实验性支持。
  • 添加了一个新的 warning -Wabsolute-value。当有更合适的标准功能可用时,它会警告调用标准函数,以计算参数的绝对值。

C++

  • 添加了新警告:

    • -Wredundant-move 选项由 -Wextra 表示,警告针对冗余调用 std::move
    • 当调用 std:: move 时,-Wpessim izing - move 选项表示,在调用 std::move 时警告。
    • 默认情况下,-Winit-list-lifetime 选项为 on。在使用 std::initializer_list 时,它会发出警告,可能会导致悬停的指针。
  • C++ 前端现在对某些 C++2a 草案功能具有实验性支持,并带有 -std=c++2a or -std=gnu++2a 标志。
  • 改进了错误诊断。

架构和处理器支持

构架和处理器支持的更改包括:

64 位 ARM 架构

现在支持以下处理器(GCC 标识符在括号中提供):

  • ARM Cortex-A76 (cortex-a76)
  • ARM Cortex-A55/Cortex-A76 DynamIQ big.LITTLE (cortex-a76.cortex-a55)
  • ARM Neoverse N1 (neoverse-n1)
  • ARM Neoverse E1 处理器(-mcpu=neoverse-e1)

AMD64 和 Intel 64

  • 不再支持 Intel MPX (内存保护扩展)。
  • 添加了对 Intel PTWRITE 的新 ISA 扩展支持。
  • 现在支持名为 Cascade Lake 的 Intel CPU,带有 AVX512 扩展。

IBM Z

  • 现在支持 ARCH (13)架构。
  • 添加了新向量指令的内置功能。使用 -mzvector 选项启用它们。
  • 对 ESA 架构 G5 和 G6 的支持已弃用。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部