Skip to content

Milestones

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 closed
  • Complete support for `format_args!()` functionality and associated macros

    Due by April 1, 2024
    7/7 issues closed
  • This 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 closed
  • This 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 closed
  • All 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 closed
  • This 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 closed
  • Get 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 closed
  • We 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 closed
  • Update 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 closed
  • The 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 closed
  • Multi 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 closed
  • This 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 closed
  • Generics 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 closed
  • This 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 closed
  • Core 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