GCC,GNU编译器集合15.1版本发布。
GCC 15.1

原始链接: https://gcc.gnu.org/gcc-15/

访问被拒绝。这可能是意外,您可以联系我们 并提供您的IP地址以申请访问。

GCC 15.1 对联合体初始化做出了改变,这引发了担忧。在 C 和 C++ 中,使用 `{0}` 初始化联合体过去会保证整个联合体,包括填充位,都被清零。现在,它只初始化第一个成员,这可能会破坏依赖于旧行为的现有代码,尤其是在类型穿透的情况下。 令人困惑的是,GCC 在 Clang 采用 GCC 旧行为的同时,采用了 Clang 旧的行为用于联合体初始化。这意味着现在 GCC 和 Clang 的行为与它们之前的版本相反。 这一改变可能会默默地破坏大量现有代码,这并不理想。一些人认为使用联合体进行类型穿透本身就是未定义行为,而其他 C 标准委员会成员则认为这是不正确的。另一些人建议默认零初始化会更有益,可以防止意外的未初始化行为。最近的讨论强调了在这种情况下未定义行为与未指定行为之间的争论。

原文
Access denied.

This may be accidental, so you may contact us at with your IP address to request access.
联系我们 contact @ memedata.com