GCC Rust 前端编译器首个补丁正在 review


GCC 指导委员会本月批准了 GCC Rust 前端,为 GNU Compiler Collection 加入 Rust 语言支持。目前第一个正式补丁系列已提交审核。

Herron Philip 在周三提交了"Rust frontend patches v1",这是由四个补丁组成的 GCC Rust 前端初始代码。他在 gcc-patches 列表中写道,“这是 Rust 前端补丁集的初始版本 1。对于我们已实现的所有 target hook,还有更多变化需要提取。目标是查看我们是否正在为 x86 和 arm 实现 target hooks 信息。对于可以在此处添加的其他 target,我们有更多补丁,它们都会遵循此处建立的模式。"

目前来看,GCC-Rust 已经很好地进行了融合,现在在指导委员会的支持下,明年发布的 GCC 13 应该会实现初步的 Rust 支持,当然仍处于早期形式。例如,borrow checker 和其他功能仍有待解决。

这些 GCC Rust 补丁基于上游 GNU Compiler Collection 代码库重新编写,并为新的前端设置了布局骨架,还为 i386 和 ARM 提供初始 target hook,然后开始布局前端代码。

GCC Rust 的代码仍然需要更仔细的审查,它有可能作为 GCC 13 的一部分而亮相,GCC 13 将于 2023 年 4 月左右发布稳定版,其对 Rust 语言的支持有希望达到 beta 级别。


相關推薦

2023-04-27

代码也都被合并到了 GCC 13 上游代码库中。但时至今日,编译器仍未就支持 Rust 做好准备。开发人员 Philip Herron 和 Arthur Cohen 发文解释称: 我们的期望是,通过明确表示编译器仍未为真正的 Rust 代码做好准备;可以从早期用

2022-12-10

M 提供初始 target hook,然后开始布局前端代码。此外,GCC 编译器支持的目标 (targets) 数量要远远多于标准的 Rust 编译器。 通过将 GCC 作为后端集成到 rustc 中,可以更好地实现支持这些 target。除了 LLVM 之外,rustc master 还为 Craneli

2023-11-16

nux 中运行。Linux Rust 程序员现下正在跟踪最新版本的 Rust 编译器。 与此相关的一个问题是,大众对将 Rust 支持反向移植到的 Linux 的 LTS 版本(特别是 5.15 和 6.1)中越来越感兴趣。但 Linux 通常不允许将 Rust 移植到 LTS Linux 中。因

2022-12-16

天我们报道了 GCC Rust 前端“gccrs”被合并到 GCC 13 的 GNU 编译器集合代码库中。据外媒 Phoronix 报道, GCC Modula-2 语言前端代码也已经完成合并。 Modula-2 是 Pascal 语言之父 Niklaus Wirth 在 1980 年代开发的语言之一,作为一种过程

2023-01-10

s 都在致力于通过各种修复来恢复 GCJ。 早在 2016 年,GCC 编译器就因为无人维护而放弃了对 Java/GCJ 的支持。GCC Java 支持由于缺乏维护而被删除,并且由于已经有许多自由软件 Java 实现而没有引起太多关注。 根据介绍,鉴于现在

2022-04-04

目,现在终于能够引导 Rustc 本身了。目前,生成的 rustc 编译器至少可以编译一个简单的 Rust “Hello World!”程序。 是 rustc 的 GCC 代码生成器,它可以由现有的 rustc 前端加载,但可以从 GCC 中受益,因为rustc_codegen_gcc 能够利用 G

2023-07-04

i 合并到 GCC Git 的一组补丁显示,正在开发中的 GCC 14 编译器增加了对 MIPS16e2 处理器 ISA 的支持。 MIPS16e2 是 MIPS16e 指令集的扩展,与 MIPS32 和 MIPS64 指令集兼容,可与现有 MIPS 指令二进制文件混合使用。不同的是 MIPS16e2 ASE

2022-04-02

龙芯的 LoongArch 移植,现在这些代码已被正式合并到 GCC 编译器。 在 GCC 12 开发周期的"stage four"的最后阶段,龙芯的 LoongArch 移植已经被合并了,其将在大约一个月后发布稳定版。据称,由于新的 CPU 移植不会对现有的编译器代

2023-04-27

版本发布。此版本是一个重大更新,集成了 Modula-2 语言前端,并为计划将来发布的 Rust 语言前端奠定了基础。 GCC 的静态分析器继续被改进,有了 20 个新的诊断功能。更多的 C23 和 C++23 功能被连接起来,C++ 标准库对 C++20 和 C+

2023-06-30

样高效。四个月内,这一数字增加到 50% 以上。 2. Rust 编译器速度并没有想象的那么快 谷歌证实了此说法。 他们表示,到目前为止,构建速度慢是开发者在使用 Rust 时遇到的第一大挑战,只有略多于 40% 的受访者认为速度可

2022-11-23

从去年开始,当使用 LLVM 的 Clang 编译器构建 Linux 内核时,已支持为内核构建启用链接时优化 (LTO, link-time optimizations)。而对于使用 GCC 构建 Linux 内核,仍缺少 LTO 支持,近日发布的一系列补丁是实现此目标的最新尝试。 Clang

2022-10-18

处理器之后,AMD 发布了代码补丁,为 Zen 4 CPU 提供了 GNU 编译器集合 (GCC) 的初始支持。 但 Zen 4 CPU 支持的成本计算、调整与 znver3 保持相同,几乎没有什么用于指令延迟差异等优化的补丁。从补丁中可见, PTA_ZNVER3 直接转为 

2022-03-28

Linux 内核上游就加入了对它的支持,但被广泛使用的 GCC 编译器一直没有正确识别陆家嘴处理器,而是将其错误识别为英特尔的 Core 2 或 i386 CPU。 上周五,兆芯开发者提交了为 GCC 加入对陆家嘴 CPU 正式支持的。该补丁除了能正

2023-03-07

去年我们报道了 Linux 内核拟放弃支持英特尔 ICC 编译器,如今该讨论终于有了结果。在 Linux 6.3 内核合并窗口打开的最后一天,Linus Torvalds 合并了“删除 Intel ICC 编译器支持” 补丁,从内核中移除了 Intel  ICC  编译器的支