Skip to content

Commit c43659e

Browse files
committed
2024-07: Add monthly report for July
1 parent a8f13fc commit c43659e

File tree

1 file changed

+238
-0
lines changed

1 file changed

+238
-0
lines changed

_posts/2024-08-12-2024-07-monthly.md

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
---
2+
layout: post
3+
title: "July 2024 Monthly report"
4+
author: Philip Herron, Pierre-Emmanuel Patry and Arthur Cohen
5+
tags:
6+
- monthly-report
7+
---
8+
9+
## Overview
10+
11+
Thanks again to [Open Source Security, inc](https://opensrcsec.com/) and
12+
[Embecosm](https://www.embecosm.com/) for their ongoing support for this
13+
project.
14+
15+
### Project update
16+
17+
The progress done by students this month has been amazing, with multiple
18+
improvements on all projects. The tool developed by [Muhammad
19+
Mahad](https://github.com/MahadMuhammad) to adapt `rustc` testcases into
20+
`gccrs` ones is almost ready, and will soon be used to import the entire
21+
`rustc` testsuite to our project. [Jasmine
22+
Tang](https://github.com/badumbatish) has made great progress on
23+
compiling her inline assembly nodes, and is now figuring out the last
24+
few details in order to support all of the inline assembly concepts used
25+
by GCC. Finally, [Kushal Pal](https://github.com/braw-lee) has been
26+
adding location information throughout the entire borrow-checking pass
27+
of the compiler, and we are now able to emit proper errors with nice
28+
hints for users to benefit from.
29+
30+
We are also joined by two new contributors this month, both spending a
31+
lot of time on some long-standing compiler issues and producing good
32+
quality work. Thank you both :)
33+
34+
Our 14.2 patches have not been reviewed, and thus did not make it into
35+
the 14.2 release. This is not important, as the patches only concerned
36+
documentation changes. Instead, we will be able to upstream these
37+
patches without prior reviewing from the GCC maintainers in time for the
38+
15.1 release, as they only concern the Rust frontend files. Regarding
39+
our 15.1 milestones, we are currently tackling name resolution issues as
40+
well as solving the issue of [#lang_items](https://doc.rust-lang.org/unstable-book/language-features/lang-items.html),
41+
which have been a long-standing pain point in the compiler. They are
42+
supported in all of their facets, except when used for code generation,
43+
which has to do with how `gccrs` handles paths in general. Fixing this
44+
will make it easier for us to properly desugar `for`-loops, as well as a
45+
few other language constructs.
46+
47+
### Community call
48+
49+
We will have our next monthly community call on the 12th of August at
50+
9am UTC. You can subscribe to our calendar to see when the next one will
51+
be held. The call is open to everyone, even if you would just like to
52+
sit-in and listen. You can also subscribe to our
53+
[mailing-list](https://gcc.gnu.org/mailman/listinfo/gcc-rust) or join
54+
our [Zulip chat](https://gcc-rust.zulipchat.com) to be notified of
55+
upcoming events.
56+
57+
- [Jitsi link](https://meet.jit.si/gccrs-community-call-august)
58+
- Calendar ID:
59+
7060a0923ffebd3cb52b1afef35a28ff7b64f05962c9af84c23b1847f1f5f894@group.calendar.google.com
60+
- [Google calendar
61+
link](https://calendar.google.com/calendar/embed?src=7060a0923ffebd3cb52b1afef35a28ff7b64f05962c9af84c23b1847f1f5f894%40group.calendar.google.com)
62+
- [iCal
63+
link](https://calendar.google.com/calendar/ical/7060a0923ffebd3cb52b1afef35a28ff7b64f05962c9af84c23b1847f1f5f894%40group.calendar.google.com/public/basic.ics)
64+
65+
## Call for contribution
66+
67+
- [Issue 3001: Generic arguments are not disambiguated on error
68+
propagation
69+
expressions](https://github.com/Rust-GCC/gccrs/issues/3001)
70+
71+
Our error propagation expressions (expressions which use the question
72+
mark operator, of the form `<expr>?`) are currently forgotten in many of
73+
our AST visitors. As a result, there are unexpected cases when it comes
74+
to various parts of the compiler pipeline handling them. In that
75+
particular case, the function call's generic arguments are not
76+
disambiguated - the compiler does not know if it needs to be handling a
77+
generic type, or a const generic value. You will need to add handling to
78+
our name resolution pass for these error propagation expressions. It
79+
would be helpful to look at [the current generic
80+
disambiguation](https://github.com/Rust-GCC/gccrs/blob/75049a3bfee8c3f888994bce3b741a805c631c2a/gcc/rust/resolve/rust-ast-resolve-type.cc#L568)
81+
to start figuring out where it is called from, and where you need to
82+
call it.
83+
84+
## Completed Activities
85+
86+
- Remove dependency on nightly Rust
87+
[PR3101](https://github.com/rust-gcc/gccrs/pull/3101)
88+
- Move procedural macro tests to their own directory
89+
[PR3097](https://github.com/rust-gcc/gccrs/pull/3097)
90+
- Change bug report issue template
91+
[PR3095](https://github.com/rust-gcc/gccrs/pull/3095)
92+
- Change assertion of asm operand constructor
93+
[PR3093](https://github.com/rust-gcc/gccrs/pull/3093)
94+
- \[#2987\] Patch ICE when deriving Clone and Copy
95+
[PR3091](https://github.com/rust-gcc/gccrs/pull/3091)
96+
- Added options for ParseMode
97+
[PR3090](https://github.com/rust-gcc/gccrs/pull/3090)
98+
- gccrs: \[E0576\] Associated \`item\` not found in given \`type\`
99+
[PR3089](https://github.com/rust-gcc/gccrs/pull/3089)
100+
- Properly striping struct fields when using attrs
101+
[PR3087](https://github.com/rust-gcc/gccrs/pull/3087)
102+
- Fix CI bootstrap build with a nightly rust compiler
103+
[PR3085](https://github.com/rust-gcc/gccrs/pull/3085)
104+
- Improve error messages for operator expressions
105+
[PR3084](https://github.com/rust-gcc/gccrs/pull/3084)
106+
- Add compile error to fix ICE when failing to find enum variants.
107+
[PR3083](https://github.com/rust-gcc/gccrs/pull/3083)
108+
- Pin node16 by allowing old version
109+
[PR3081](https://github.com/rust-gcc/gccrs/pull/3081)
110+
- gccrs: Add external test directory for testsuite adaptor
111+
[PR3080](https://github.com/rust-gcc/gccrs/pull/3080)
112+
- \#\[may<sub>dangle</sub>\] in safe impl
113+
[PR3078](https://github.com/rust-gcc/gccrs/pull/3078)
114+
- Remove unnecessary \#include from rust-expr.h
115+
[PR3077](https://github.com/rust-gcc/gccrs/pull/3077)
116+
- New class for bck diagnostics
117+
[PR3076](https://github.com/rust-gcc/gccrs/pull/3076)
118+
- rust: fix HIR dump for MatchExpr
119+
[PR3075](https://github.com/rust-gcc/gccrs/pull/3075)
120+
- Safe-guard InlineAsm structs
121+
[PR3074](https://github.com/rust-gcc/gccrs/pull/3074)
122+
- Store parse result of parse<sub>formatstring</sub>(s)
123+
[PR3073](https://github.com/rust-gcc/gccrs/pull/3073)
124+
- Added FFIVector to get Polonius output on C++ side
125+
[PR3058](https://github.com/rust-gcc/gccrs/pull/3058)
126+
- Fix all tests in execute to be \]
127+
128+
### Contributors this month
129+
130+
- [Liam Naddell](https://github.com/liamnaddell) (new contributor!)
131+
- [antoniospg](https://github.com/antoniospg) (new contributor!)
132+
- [Mahad Muhammad](https://github.com/mahadmuhammad)
133+
- [Kushal Pal](https://github.com/braw-lee)
134+
- [Jasmine Tang](https://github.com/badumbatish)
135+
- [Marc Poulhiès](https://github.com/dkm)
136+
- [Pierre-Emmanuel Patry](https://github.com/P-E-P)
137+
- [Arthur Cohen](https://github.com/CohenArthur)
138+
139+
### Overall Task Status
140+
141+
| Category | Last Month | This Month | Delta |
142+
|-------------|------------|------------|-------|
143+
| TODO | 340 | 338 | -2 |
144+
| In Progress | 70 | 71 | +1 |
145+
| Completed | 846 | 856 | +10 |
146+
147+
### Test Cases
148+
149+
| TestCases | Last Month | This Month | Delta |
150+
|-----------|------------|------------|-------|
151+
| Passing | 8543 | 8557 | +14 |
152+
| Failed | \- | \- | \- |
153+
| XFAIL | 72 | 72 | \- |
154+
| XPASS | \- | \- | \- |
155+
156+
### Bugs
157+
158+
| Category | Last Month | This Month | Delta |
159+
|-------------|------------|------------|-------|
160+
| TODO | 127 | 125 | -2 |
161+
| In Progress | 38 | 38 | \- |
162+
| Completed | 419 | 424 | +5 |
163+
164+
### Milestones Progress
165+
166+
| Milestone | Last Month | This Month | Delta | Start Date | Completion Date | Target | Target GCC |
167+
|----------------------------|------------|------------|-------|---------------|-----------------|---------------|------------|
168+
| GCC 14.2 | 100% | 100% | \- | 7th Jun 2024 | 15th Jun 2024 | 15th Jun 2024 | GCC 14.2 |
169+
| GCC 15.1 | 100% | 100% | \- | 21st Jun 2024 | 31st Jun 2024 | 1st Jul 2024 | GCC 15.1 |
170+
| Name resolution 2.0 rework | 6% | 6% | \- | 1st Jun 2024 | \- | 1st Apr 2025 | GCC 15.1 |
171+
| Macro expansion | 7% | 15% | +8% | 1st Jun 2024 | \- | 1st Jan 2025 | GCC 15.1 |
172+
| Unhandled attributes | 80% | 80% | \- | 1st Jul 2024 | \- | 15th Aug 2024 | GCC 15.1 |
173+
| Lang items | 0% | 0% | \- | 1st Jul 2024 | \- | 1st Sep 2024 | GCC 15.1 |
174+
175+
| Upcoming Milestone | Last Month | This Month | Delta | Start Date | Completion Date | Target | Target GCC |
176+
|--------------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------|
177+
| Indexing fixes | 0% | 0% | \- | 21st Jul 2024 | \- | 15th Sep 2024 | GCC 15.1 |
178+
| Iterator fixes | 0% | 0% | \- | 21st Jul 2024 | \- | 15th Sep 2024 | GCC 15.1 |
179+
| Auto traits improvements | 0% | 0% | \- | 15th Sep 2024 | \- | 21st Oct 2024 | GCC 15.1 |
180+
| Deref and DerefMut improvements | 0% | 0% | \- | 28th Sep 2024 | \- | 28th Oct 2024 | GCC 15.1 |
181+
| Remaining typecheck issues | 0% | 0% | \- | 21st Oct 2024 | \- | 1st Jan 2025 | GCC 15.1 |
182+
| cfg-core | 0% | 0% | \- | 1st Dec 2024 | \- | 1st Jan 2025 | GCC 15.1 |
183+
| Question mark operator | 0% | 0% | \- | 15th Dec 2024 | \- | 21st Feb 2025 | GCC 15.1 |
184+
| Codegen fixes | 0% | 0% | \- | 7th Oct 2024 | \- | 1st Mar 2025 | GCC 15.1 |
185+
| Specialization | 0% | 0% | \- | 1st Jan 2025 | \- | 1st Mar 2025 | GCC 15.1 |
186+
| Inline assembly | 0% | 0% | \- | 1st Jun 2024 | \- | 15th Sep 2024 | GCC 15.1 |
187+
| Borrow checker improvements | 0% | 0% | \- | 1st Jun 2024 | \- | 15th Sep 2024 | GCC 15.1 |
188+
| Rustc Testsuite Adaptor | 0% | 0% | \- | 1st Jun 2024 | \- | 15th Sep 2024 | GCC 15.1 |
189+
| black<sub>box</sub> intrinsic | 0% | 0% | \- | 28th Oct 2024 | \- | 28th Nov 2024 | GCC 15.1 |
190+
| Unstable RfL features | 0% | 0% | \- | 7th Jan 2025 | \- | 1st Mar 2025 | GCC 15.1 |
191+
| cfg-rfl | 0% | 0% | \- | 7th Jan 2025 | \- | 15th Feb 2025 | GCC 15.1 |
192+
| alloc parser issues | 100% | 100% | \- | 7th Jan 2025 | 31st Jun 2024 | 28th Jan 2025 | GCC 15.1 |
193+
| let-else | 0% | 0% | \- | 28th Jan 2025 | \- | 28th Feb 2025 | GCC 15.1 |
194+
| Explicit generics with impl Trait | 0% | 0% | \- | 28th Feb 2025 | \- | 28th Mar 2025 | GCC 15.1 |
195+
| offset<sub>of</sub>!() builtin macro | 0% | 0% | \- | 15th Mar 2025 | \- | 15th May 2025 | GCC 15.1 |
196+
| Generic Associated Types | 0% | 0% | \- | 15th Mar 2025 | \- | 15th Jun 2025 | GCC 16.1 |
197+
| RfL const generics | 0% | 0% | \- | 1st May 2025 | \- | 15th Jun 2025 | GCC 16.1 |
198+
| frontend plugin hooks | 0% | 0% | \- | 15th May 2025 | \- | 7th Jul 2025 | GCC 16.1 |
199+
| Handling the testsuite issues | 0% | 0% | \- | 15th Sep 2024 | \- | 15th Sep 2025 | GCC 16.1 |
200+
| std parser issues | 100% | 100% | \- | 7th Jan 2025 | 31st Jun 2024 | 28th Jan 2025 | GCC 16.1 |
201+
| main shim | 0% | 0% | \- | 28th Jul 2025 | \- | 15th Sep 2025 | GCC 16.1 |
202+
203+
| Past Milestone | Last Month | This Month | Delta | Start Date | Completion Date | Target | Target GCC |
204+
|-----------------------------------|------------|------------|-------|---------------|-----------------|---------------|------------|
205+
| Data Structures 1 - Core | 100% | 100% | \- | 30th Nov 2020 | 27th Jan 2021 | 29th Jan 2021 | GCC 14.1 |
206+
| Control Flow 1 - Core | 100% | 100% | \- | 28th Jan 2021 | 10th Feb 2021 | 26th Feb 2021 | GCC 14.1 |
207+
| Data Structures 2 - Generics | 100% | 100% | \- | 11th Feb 2021 | 14th May 2021 | 28th May 2021 | GCC 14.1 |
208+
| Data Structures 3 - Traits | 100% | 100% | \- | 20th May 2021 | 17th Sep 2021 | 27th Aug 2021 | GCC 14.1 |
209+
| Control Flow 2 - Pattern Matching | 100% | 100% | \- | 20th Sep 2021 | 9th Dec 2021 | 29th Nov 2021 | GCC 14.1 |
210+
| Macros and cfg expansion | 100% | 100% | \- | 1st Dec 2021 | 31st Mar 2022 | 28th Mar 2022 | GCC 14.1 |
211+
| Imports and Visibility | 100% | 100% | \- | 29th Mar 2022 | 13th Jul 2022 | 27th May 2022 | GCC 14.1 |
212+
| Const Generics | 100% | 100% | \- | 30th May 2022 | 10th Oct 2022 | 17th Oct 2022 | GCC 14.1 |
213+
| Initial upstream patches | 100% | 100% | \- | 10th Oct 2022 | 13th Nov 2022 | 13th Nov 2022 | GCC 14.1 |
214+
| Upstream initial patchset | 100% | 100% | \- | 13th Nov 2022 | 13th Dec 2022 | 19th Dec 2022 | GCC 14.1 |
215+
| Update GCC's master branch | 100% | 100% | \- | 1st Jan 2023 | 21st Feb 2023 | 3rd Mar 2023 | GCC 14.1 |
216+
| Final set of upstream patches | 100% | 100% | \- | 16th Nov 2022 | 1st May 2023 | 30th Apr 2023 | GCC 14.1 |
217+
| Borrow Checking 1 | 100% | 100% | \- | TBD | 8th Jan 2024 | 15th Aug 2023 | GCC 14.1 |
218+
| Procedural Macros 1 | 100% | 100% | \- | 13th Apr 2023 | 6th Aug 2023 | 6th Aug 2023 | GCC 14.1 |
219+
| GCC 13.2 Release | 100% | 100% | \- | 13th Apr 2023 | 22nd Jul 2023 | 15th Jul 2023 | GCC 14.1 |
220+
| GCC 14 Stage 3 | 100% | 100% | \- | 1st Sep 2023 | 20th Sep 2023 | 1st Nov 2023 | GCC 14.1 |
221+
| GCC 14.1 Release | 100% | 100% | \- | 2nd Jan 2024 | 2nd Jun 2024 | 15th Apr 2024 | GCC 14.1 |
222+
| format<sub>args</sub>!() support | 100% | 100% | \- | 15th Feb 2024 | \- | 1st Apr 2024 | GCC 14.1 |
223+
224+
## Planned Activities
225+
226+
- Start work on required items for `for` loops
227+
- Continue work on name resolution and macro expansion for `core` 1.49
228+
- Start adding Detailed Changelogs to the reports again
229+
230+
### Risks
231+
232+
There have been no changes to the Risk table this month
233+
234+
| Risk | Impact (1-3) | Likelihood (0-10) | Risk (I \* L) | Mitigation |
235+
|----------------------------------------|--------------|-------------------|---------------|-----------------------------------------------------------------|
236+
| Missing features for GCC 15.1 deadline | 2 | 1 | 2 | Start working on required features as early as July (6mo ahead) |
237+
238+
## Detailed changelog

0 commit comments

Comments
 (0)