虽然LLVM 15.0 本周刚刚发布,其中包含许多新的编译器功能,但为明年春天的 LLVM/Clang 16.0 版本合并了一个重大变化:带有 GNU 扩展的 C++17 现在是默认的 C++ 和 ObjectiveC++ 版本。
如果没有为编译器明确设置其他版本,GNU++17(带有 GNU 扩展的 C++17)现在是默认的 C++ 标准。这是从 GNU++14 到 LLVM/Clang 15 的当前 C++ 默认值的一个凸起。
对于当前与 C++17 不兼容且仅依赖默认值的 C++ 代码库,现在需要设置-std=gnu ++14或更早版本以保持与先前默认值的兼容性。
Clang 的 C++17 支持已经稳定了一段时间,事实上,Apple 的 DriverKit 已经在上游 LLVM 中进行了更改,默认使用 GNU++17 而不是 GNU++14——今天的更改只是放弃了 Apple DriverKit查看。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun187668.html