Rust front-end patches v4
arthur.cohen@embecosm.com
arthur.cohen@embecosm.com
Tue Dec 6 10:13:31 GMT 2022
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.
More information about the Gcc-patches
mailing list