GCC 12 引入了更多面向 C++23 的实现原创
2年前
242412
与每个主要的 GCC 版本一样,即将于本周发布的 GCC 12.1 带来了许多新特性、改进和 bug 修复。Red Hat 的 Marek Polacek 在最新的一篇博客文章中,概述了在这个主要的 GNU Compiler Collection 更新中带来的一些 C++ 语言改进。
Polacek 指出,在 GCC 12 中共实现了几个 C++23 提案。GCC 12 的默认方言是 -std=gnu++17;要启用 C++23 特性,需要使用 -std=c++23 或 -std=gnu++23 命令行选项,后一个选项允许 GNU 扩展。不过值得注意的是,C++20 和 C++23 功能在 GCC 12 中仍然是试验性的。
根据介绍,GCC 12 实现了 C++23 的 if consteval、auto(x)、constexpr 函数中的非字面变量、多维下标操作符、elifdef 和 elifndef 预处理指令、扩展的 init-statement、trivial functions 的折叠等功能。同时,GCC 12 还引入了各种新的和改进的编译器警告,提供了静态分析器改进和更多功能。
在明年的 GCC 13 中,开发团队的目标则是完成对 C++23 的支持。
点赞收藏