List view
- No due date•1/1 issues closed
Make the entire project compile under Rust 1.49. This means adapting the Rust dependencies and libraries to compile with rustc 1.49. This will also make it easier to bootstrap our compiler using gccrs, once we can eventually compile Rust 1.49
Due by April 1, 2025•2/2 issues closed- Due by February 28, 2025•3/3 issues closed
- Due by January 28, 2025•1/1 issues closed
- Due by November 15, 2024•1/1 issues closed
- Due by September 15, 2024•8/8 issues closed
- Due by March 1, 2025•1/1 issues closed
- Due by February 21, 2025•5/5 issues closed
Handling all `#[cfg]` related issues for `core` 1.49
Due by March 1, 2025•4/4 issues closed- Due by December 28, 2024•2/2 issues closed
- Due by December 21, 2024•4/4 issues closed
- Due by November 15, 2024•3/3 issues closed
- Due by November 21, 2024•8/8 issues closed
- Due by August 15, 2024•7/7 issues closed
- Due by June 15, 2024
Preparations for GCC's 2025 release
Due by July 1, 2024•8/8 issues closedComplete support for `format_args!()` functionality and associated macros
Due by April 1, 2024•7/7 issues closedThis milestone marks the end of the period for sending in patches that specifically touch the Rust frontend of GCC which we would like to see released as part of GCC 14.1
Due by April 15, 2024•89/89 issues closedThis targets multiple parts of libcore 1.49: 1. Macro expansion 2. Builtin macro declarations 3. Proper name resolution 4. Proper handling of import statements
Due by April 15, 2024•99/99 issues closedAll of the patches we need to send before GCC 14 stage 3 starts, so patches to common areas, build systems, etc. I hope this milestone will be split into tinier milestones which will make it easier to track.
Due by October 1, 2023•85/85 issues closedThis milestone concerns all of the issues we'd like to take care of before upstreaming code for the GCC 13.2 release. This milestone should be focused on compiling libcore in the hope to distribute it in GCC for the 13.2 release. Importantly, this is different from supporting libcore 1.49: libcore needs certain features to compile, such as for loops or inline assembly (as it uses some in a decimal to float algorithm), so to first compile libcore we must implement these features. A second milestone targets what libcore offers, such as all of the compiler intrinsic functions.
Due by July 15, 2023•13/13 issues closedGet started on borrow-checking, implementing a more restrictive version of the official rules in order to only accept a known valid subset of Rust. This will allow us to be conservative about what language features we support, and to reduce the amount of miscompiling we'll do. Furthermore, having borrow-checking started will be important for trying to pass the rustc testsuite.
Due by August 15, 2023•3/3 issues closedWe should aim to have a first working version of procedural macro expansion before the end of @P-E-P's internship, which happens on the 6th of August. It is fine if we end up with a semi-working version of procedural macros at that time, but we should aim to set the groundwork for these macros to be expanded properly and nicely. This will allow us to refine the system later on in a follow-up milestone. The corresponding project is https://github.com/orgs/Rust-GCC/projects/11
Due by August 6, 2023•36/36 issues closedUpdate GCC's master branch with the most recent gccrs commits. The original merge contains code up to the end of August 2022, so we are missing quite a lot of work. This can be considered a subset of the `Final Upstream Patches` milestone which focuses more on the update side than the development side of things.
Due by March 3, 2023•24/24 issues closedThe first set of patches has been sent, and we must now work hard towards fixing the review comments and getting the patches upstreamed. This will allow us to then dedicate some time to upstreaming a more up-to-date version of the frontend than what we are sending in the initial patchset
Due by December 19, 2022•28/28 issues closed- Due by April 30, 2023•240/240 issues closed
- Due by November 13, 2022•47/47 issues closed
- Due by October 17, 2022•103/103 issues closed
The compiler needs to support macros which is likely 2-3 month effort
Due by March 28, 2022•163/163 issues closedMulti file compilation and with use, extern and mod.
Due by May 30, 2022•161/161 issues closed- Enums - Pattern Matching - Bugs from previous milestone - Operator overloading - Lang-items
Due by November 29, 2021•83/83 issues closedThis is a milestone target for preliminary support of traits which is going to depend on the work from generics. This is a complex task to get right. https://doc.rust-lang.org/rust-by-example/trait.html Lifetime arguments may be ignored in this.
Due by August 27, 2021•96/96 issues closedGenerics in rust are complex this will need to expand on type resolution to match all references for the usage of generic parameters to determine the type of a structure/function that must be generated.
Due by May 28, 2021•62/62 issues closedThis milestone is for basic control flow within rust: Loops, conditionals, functions, impl blocks, self keyword, block expressions with continue and break expressions.
Due by March 1, 2021•33/33 issues closedCore data structures are the building blocks for the rust compiler. This involves a Name Resolver, Type resolution and inferencing. It means supporting core builtin data types: i8,i16,i32,i64 u8,u16,u32,u64 bool, f32,f64 Arrays Structs Tuples
Due by February 1, 2021•67/67 issues closed