public inbox for gcc-rust@gcc.gnu.org
 help / color / mirror / Atom feed
* Rust front-end patches v4
@ 2022-12-06 10:13 arthur.cohen
  2022-12-06 10:13 ` [PATCH Rust front-end v4 01/46] Use DW_ATE_UTF for the Rust 'char' type arthur.cohen
                   ` (47 more replies)
  0 siblings, 48 replies; 81+ messages in thread
From: arthur.cohen @ 2022-12-06 10:13 UTC (permalink / raw)
  To: gcc-patches; +Cc: gcc-rust

This patchset contains the fixed version of our most recent patchset. We
have fixed most of the issues noted in the previous round of reviews, and are
keeping some for later as they would otherwise create too many conflicts with
our updated development branch.

Similarly to the previous round of patches, this patchset does not contain any
new features - only fixes for the reviews of the v3. New features will follow
shortly once that first patchset is merged.

Once again, thank you to all the contributors who made this possible and
especially to Philip Herron for his dedication to the project.

You can see the current status of our work on our branch:
https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/devel/rust/master

Patch status table:

An 'x' in the first column indicates a patch has been reviewed.
One in the second column indicates that a patch has been approved.

|0001-Use-DW_ATE_UTF-for-the-Rust-char-type.patch               |x|x|
|0002-gccrs-Add-necessary-hooks-for-a-Rust-front-end-tests.patch|x|x|
|0003-gccrs-Add-Debug-info-testsuite.patch                      | | |
|0004-gccrs-Add-link-cases-testsuite.patch                      | | |
|0005-gccrs-Add-general-compilation-test-cases.patch            | | |
|0006-gccrs-Add-execution-test-cases.patch                      | | |
|0007-gccrs-Add-gcc-check-target-check-rust.patch               |x| |
|0008-gccrs-Add-Rust-front-end-base-AST-data-structures.patch   | | |
|0009-gccrs-Add-definitions-of-Rust-Items-in-AST-data-stru.patch| | |
|0010-gccrs-Add-full-definitions-of-Rust-AST-data-structur.patch| | |
|0011-gccrs-Add-Rust-AST-visitors.patch                         | | |
|0012-gccrs-Add-Lexer-for-Rust-front-end.patch                  |x| |
|0013-gccrs-Add-Parser-for-Rust-front-end-pt.1.patch            | | |
|0014-gccrs-Add-Parser-for-Rust-front-end-pt.2.patch            | | |
|0015-gccrs-Add-expansion-pass-for-the-Rust-front-end.patch     | | |
|0016-gccrs-Add-name-resolution-pass-to-the-Rust-front-end.patch| | |
|0017-gccrs-Add-declarations-for-Rust-HIR.patch                 | | |
|0018-gccrs-Add-HIR-definitions-and-visitor-framework.patch     | | |
|0019-gccrs-Add-AST-to-HIR-lowering-pass.patch                  | | |
|0020-gccrs-Add-wrapper-for-make_unique.patch                   | | |
|0021-gccrs-Add-port-of-FNV-hash-used-during-legacy-symbol.patch| | |
|0022-gccrs-Add-Rust-ABI-enum-helpers.patch                     | | |
|0023-gccrs-Add-Base62-implementation.patch                     | | |
|0024-gccrs-Add-implementation-of-Optional.patch                | | |
|0025-gccrs-Add-attributes-checker.patch                        | | |
|0026-gccrs-Add-helpers-mappings-canonical-path-and-lang-i.patch| | |
|0027-gccrs-Add-type-resolution-and-trait-solving-pass.patch    | | |
|0028-gccrs-Add-Rust-type-information.patch                     | | |
|0029-gccrs-Add-remaining-type-system-transformations.patch     | | |
|0030-gccrs-Add-unsafe-checks-for-Rust.patch                    | | |
|0031-gccrs-Add-const-checker.patch                             | | |
|0032-gccrs-Add-privacy-checks.patch                            | | |
|0033-gccrs-Add-dead-code-scan-on-HIR.patch                     | | |
|0034-gccrs-Add-unused-variable-scan.patch                      | | |
|0035-gccrs-Add-metadata-output-pass.patch                      | | |
|0036-gccrs-Add-base-for-HIR-to-GCC-GENERIC-lowering.patch      | | |
|0037-gccrs-Add-HIR-to-GCC-GENERIC-lowering-for-all-nodes.patch |x|x|
|0038-gccrs-Add-HIR-to-GCC-GENERIC-lowering-entry-point.patch   |x|x|
|0039-gccrs-These-are-wrappers-ported-from-reusing-gccgo.patch  | | |
|0040-gccrs-Add-GCC-Rust-front-end-Make-lang.in.patch           |x| |
|0041-gccrs-Add-config-lang.in.patch                            |x|x|
|0042-gccrs-Add-lang-spec.h.patch                               | | |
|0043-gccrs-Add-lang.opt.patch                                  |x| |
|0044-gccrs-Add-compiler-driver.patch                           | | |
|0045-gccrs-Compiler-proper-interface-kicks-off-the-pipeli.patch| | |
|0046-gccrs-Add-README-CONTRIBUTING-and-compiler-logo.patch     | | |

Patches 34 to 39 and 44 to 45 interact with common GCC APIs:

0034-gccrs-Add-unused-variable-scan.patch
0035-gccrs-Add-metadata-output-pass.patch
0036-gccrs-Add-base-for-HIR-to-GCC-GENERIC-lowering.patch
0037-gccrs-Add-HIR-to-GCC-GENERIC-lowering-for-all-nodes.patch 
0038-gccrs-Add-HIR-to-GCC-GENERIC-lowering-entry-point.patch 
0039-gccrs-These-are-wrappers-ported-from-reusing-gccgo.patch
0044-gccrs-Add-compiler-driver.patch 
0045-gccrs-Compiler-proper-interface-kicks-off-the-pipeli.patch

Patch 02 and 07 contain test infrastructure changes:

0002-gccrs-Add-necessary-hooks-for-a-Rust-front-end-tests.patch
0007-gccrs-Add-gcc-check-target-check-rust.patch

Patch 03 to 06 contain Rust test cases:

0003-gccrs-Add-Debug-info-testsuite.patch
0004-gccrs-Add-link-cases-testsuite.patch
0005-gccrs-Add-general-compilation-test-cases.patch
0006-gccrs-Add-execution-test-cases.patch

Patches 08 to 46 contain 'gcc/rust/' specific changes which will be hard
to review for someone not familiar with the codebase. These changes include
various transformations on our HIR, or checks specific to the Rust programming
language.



^ permalink raw reply	[flat|nested] 81+ messages in thread