GCC 11 进入最后开发阶段,包括 62 个高优先级回归

来源: OSCHINA
编辑: 御坂弟弟
2021-01-20

GCC 11 版本经理 Richard Biener 近日宣布,GCC 11 已处于第四阶段的开发中,这意味着现在开始仅允许回归和文档修改。截至其宣布时,仍有 62 个P1 优先级的回归需要处理,此外,P2 优先级的为 334个,P3 优先级的为35个,P4 优先级的为 190 个,P5 优先级的为 24 个。

根据 GCC development process,每个 GCC 版本开发分为 4 个阶段。 在阶段 4,只能进行文档修改和回归修复。其他重要的错误,例如 wrong-code, rejects-valid 或构建问题,也可能得到修复。在此期间进行的所有更改都应注意不要引入新的回归。相同的约束适用于发布分支。此阶段一直持续到下一个版本的第 1 阶段开始(也是当前版本发布之时)。按照以往的时间,GCC 11.1 大约会在 4 月- 5 月发布。

GCC 11 的部分改动如下

  • C++ 的默认模式由 -std=gnu++14 更改为 -std=gnu++17
  • 构建 GCC 时,主机编译器必须支持 C++11,而不是 C++98
  • 支持  Linux Kernel Concurrency Sanitizer (KCSAN)
  • 优化列号的计算方法
  • 引入 AddressSanitizer 硬件辅助支持
  • 实现了部分 C++20 特性,比如支持 consteval virtual 函数
  • 修复了一些 C++ 缺陷报告,比如可变模板的默认模板参数问题
  • C 和 C++ 新的警告类型
  • 优化了对 C++17 和 C++2a 的支持

因为 GCC 11 已经进入阶段 4,所以上述内容大概率会出现在正式的 GCC 11 中。关于 GCC 11 的更多改动,请查看 GCC 11 Release Series

展开阅读全文
4 收藏
分享
加载中
精彩评论
PSI
我猜测这是和回归测试相关。编译器开发中,修正一个bug后,需要验证修正的结果,需要一组测试用例来保证(回归测试),在回归测试通过后,才认为bug是真的修正了。另外,增加新特征(feature),也需要如此流程。所以,regression包含的内容比bug多。
2021-01-20 10:59
5
举报
看來各家都還沒支持完C++20。
2021-01-20 10:17
3
举报
大意了
2021-01-20 17:35
2
举报
前年,我还在用gcc7,现在已经快到gcc11了
2021-01-20 09:37
2
举报
加油加油,希望更多的人,使用c++ 17,使用c++,c++越来越好!
2021-01-21 12:27
1
举报
最新评论 (12)
加油加油,希望更多的人,使用c++ 17,使用c++,c++越来越好!
2021-01-21 12:27
1
回复
举报
我感觉你这说的是单元测试,回归测试应该是修改功能或者修正bug后,有没有影响其他功能的正常运行。
2021-01-20 19:36
1
回复
举报
您好,请问GCC是将代码编译成机器码还是汇编的吗?开发这个需要CPU厂商来开发吗?
2021-01-20 13:32
1
回复
举报
流程中会生成汇编码和机器码,最终链接为可执行程序。不需要(应该)
2021-01-20 15:14
0
回复
举报
这个是机器人··
2021-01-20 16:52
0
回复
举报
大意了
2021-01-20 17:35
2
回复
举报
这是个机器人
2021-01-20 18:50
1
回复
举报
目前一直在使用 GCC 11
2021-01-20 13:16
1
回复
举报
为什么要用"回归(regression)"这个词呢, 叫"bug"不好么
2021-01-20 10:32
1
回复
举报
PSI
我猜测这是和回归测试相关。编译器开发中,修正一个bug后,需要验证修正的结果,需要一组测试用例来保证(回归测试),在回归测试通过后,才认为bug是真的修正了。另外,增加新特征(feature),也需要如此流程。所以,regression包含的内容比bug多。
2021-01-20 10:59
5
回复
举报
看來各家都還沒支持完C++20。
2021-01-20 10:17
3
回复
举报
前年,我还在用gcc7,现在已经快到gcc11了
2021-01-20 09:37
2
回复
举报
更多评论
12 评论
4 收藏
分享
返回顶部
顶部