Rust front-end patches v4

Richard Biener richard.guenther@gmail.com
Tue Dec 6 11:03:56 GMT 2022


On Tue, Dec 6, 2022 at 11:11 AM <arthur.cohen@embecosm.com> wrote:
>
> 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.

Thanks a lot - this is OK to merge now, thanks for your patience and I'm
looking forward for the future improvements.

Thanks,
Richard.

> 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.
>
>


More information about the Gcc-patches mailing list