GCC Front-End For Rust

Alternative Rust Compiler for GCC

View the Project on GitHub

November 2022 monthly report

Overview

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

Milestone Progress

Most of the work this month was focused on fixing the reviews we received on the patches. We spent quite a lot of time organizing them differently, making the fixes, and then applying those fixes to the proper patches. The v4 of the patchset will be sent on the mailing list soon.

The compilation of libcore is still blocked by the same two issues: Macro importing and exporting, as well as closures. With the work on patches, we are finding very little time to add new features to the compiler but will get back to it as soon as possible.

We are still planning to complete these two issues as well as look at the #[derive] builtin macros.

We are also preparing abstracts in the hope of giving two talks at FOSDEM in February. You should also expect a blog-post from us on the Rust Foundation’s website in the coming weeks.

As a side-note, Arthur will be on vacation the second half of December, starting on the 19th.

Community call

We will be having our monthly community call on the 12th of December at 10h00 UTC.

Agenda: https://hackmd.io/@Rust-GCC/Syy1hUDvi

You can subscribe to our newly-created Google calendar to get updates and the dates of events the team will attend.

Completed Activities

Contributors this month

Overall Task Status

Category Last Month This Month Delta
TODO 180 183 +3
In Progress 31 31 -
Completed 482 499 +17

Test Case

TestCases Last Month This Month Delta
Passing 6948 6976 +28
Failed - - -
XFAIL 52 52 -
XPASS - - -

Bugs

Category Last Month This Month Delta
TODO 56 55 -1
In Progress 16 16 -
Completed 214 218 +4

Milestones Progress

We have added milestones to better reflect the GCC merging cycle. More milestones will be put together as more themes of work are discovered along the year. We have closed out the Const Generics milestone, as it is in a sufficiently complete state for libcore-1.49 compilation. Nonetheless, some const generics features are missing, and have been added to a separate Const Generics 2 project.

Note that the intrinsics milestone percentage on github is not representative: It shows a 66% 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.

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 Sept 2021 27th Aug 2021
Control Flow 2 - Pattern Matching 100% 100% - 20th Sept 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 83% 100% +17% 10th Oct 2022 13th Nov 2022 13th Nov 2022
Upstream initial patchset 0% 78% +78% 13th Nov 2022 - 19th Dec 2022
Final set of upstream patches 6% 20% +14% 16th Nov 2022 - 30th Apr 2023
Intrinsics and builtins 18% 18% - 6th Sept 2022 - TBD
Borrow checking 0% 0% - TBD - TBD
Const Generics 2 0% 0% - TBD - TBD
Rust-for-Linux compilation 0% 0% - TBD - TBD

Risks

Risk Impact (1-3) Likelihood (0-10) Risk (I * L) Mitigation
Missing GCC 13 upstream window 2 3 6 Merge in GCC 14 and be proactive about reviews

Testing project

Testsuite Compiler Last month This month Success delta
rustc testsuite gccrs -fsyntax-only 82.2% 82.2% -
gccrs testsuite rustc stable 64.2% 64.1% -0.1%
rustc testsuite passing tests gccrs 12.3% 12.3% -
rustc testsuite (nostd) gccrs 27.6% 27.6% -
rustc testsuite (nocore) gccrs 33.3% 33.3% -
blake3 gccrs 25.5% 25.5% -
libcore gccrs 0% 0% -

Planned Activities

Detailed changelog