GCC Front-End For Rust

Alternative Rust Compiler for GCC

View the Project on GitHub

May 2023 Monthly report

Overview

Thanks again to Open Source Security, inc and Embecosm for their ongoing support for this project.

Milestone Progress

The GCC 13.2 release date is approaching, and we are hard at work trying to get core integrated to gccrs. We are progressing a lot on our AST pipeline, with many contributions from external contributors as well as work from Pierre-Emmanuel and Arthur. We are still trying to figure out some of the steps necessary for integrating the Rust 1.49 version of core with GCC’s build system, and how to properly submit these patches upstream in time for reviewing. This year’s Google Summer of Code is also starting, with our two students getting started on their projects this week. This work will be happening in public on our GitHub repository and our Zulip chat, which you can join for updates.

We are also getting things ready for submitting a talk to EuroRust in October - if you have any subject you’d like us to talk about when we meet there, feel free to send us a message or email! The subject of the talk is not fully defined yet and we are open to all ideas.

Community call

We will have our next monthly community call on the 12th of June 2023. You can subscribe to our calendar to see when the next one will be held. The call is open to everyone, even if you would just like to sit-in and listen. You can also subscribe to our mailing-list or join our Zulip chat to be notified of upcoming events.

Completed Activities

Contributors this month

Overall Task Status

Category Last Month This Month Delta
TODO 219 227 +8
In Progress 49 50 +1
Completed 639 670 +31

Test Cases

TestCases Last Month This Month Delta
Passing 7737 7924 +187
Failed - - -
XFAIL 53 53 +13
XPASS - - -

Bugs

Category Last Month This Month Delta
TODO 66 72 +6
In Progress 22 26 +4
Completed 304 327 +23

Milestones Progress

Note that the intrinsics milestone percentage on github is not representative: It shows a 73% completion rate, but does not take into account the tracking issues with dozens of unresolved items. Thus the percentage is computed using the sum of issues and tracked items done divided by the sums of issues and tracked items overall. Similarly, the Update GCC’s master branch milestone contains a tracking issue containing over 200 tasks. The percentage shown here takes this into account.

Milestone Last Week This Week Delta Start Date Completion Date Target
Data Structures 1 - Core 100% 100% - 30th Nov 2020 27th Jan 2021 29th Jan 2021
Control Flow 1 - Core 100% 100% - 28th Jan 2021 10th Feb 2021 26th Feb 2021
Data Structures 2 - Generics 100% 100% - 11th Feb 2021 14th May 2021 28th May 2021
Data Structures 3 - Traits 100% 100% - 20th May 2021 17th Sep 2021 27th Aug 2021
Control Flow 2 - Pattern Matching 100% 100% - 20th Sep 2021 9th Dec 2021 29th Nov 2021
Macros and cfg expansion 100% 100% - 1st Dec 2021 31st Mar 2022 28th Mar 2022
Imports and Visibility 100% 100% - 29th Mar 2022 13th Jul 2022 27th May 2022
Const Generics 100% 100% - 30th May 2022 10th Oct 2022 17th Oct 2022
Initial upstream patches 100% 100% - 10th Oct 2022 13th Nov 2022 13th Nov 2022
Upstream initial patchset 100% 100% - 13th Nov 2022 13th Dec 2022 19th Dec 2022
Update GCC’s master branch 100% 100% - 1st Jan 2023 21st Feb 2023 3rd Mar 2023
Final set of upstream patches 96% 100% +4% 16th Nov 2022 1st May 2023 30th Apr 2023
Borrow Checking 1 0% 0% - TBD - 15th Aug 2023
AST Pipeline for libcore 1.49 20% 51% +31% 13th Apr 2023 - 1st Jul 2023
HIR Pipeline for libcore 1.49 40% 53% +13% 13th Apr 2023 - TBD
Procedural Macros 1 45% 70% +25% 13th Apr 2023 - 6th Aug 2023
GCC 13.2 Release 0% 26% +26% 13th Apr 2023 - 15th Jul 2023
GCC 14 Stage 3 0% 0% - TBD - 1st Nov 2023
Rustc Testsuite Prerequisistes 0% 0% - TBD - 1st Sep 2023
Intrinsics and builtins 18% 18% - 6th Sep 2022 - TBD
Const Generics 2 0% 0% - TBD - TBD
Rust-for-Linux compilation 0% 0% - TBD - TBD

Testing project

The testing project is on hold as we try and figure out some of the issues we’re running into with GitHub and our various automations around it.

Planned Activities

Detailed changelog