We've also added one more commit, which only affects files inside the Rust front-end folder. This commit adds an experimental flag, which blocks the compilation of Rust code when not used. We hope this helps indicate to users that the compiler is not yet ready, but can still be experimented with :)

We plan on removing that flag as soon as possible, but in the meantime, we think it will help not creating divide within the Rust ecosystem, as well as not waste Rust crate maintainers' time.

Thanks again,

Arthur

On 12/13/22 14:26, Arthur Cohen wrote:
Hi everyone,

I have pushed the commits onto master. Thanks again for all the reviews and support.

Thank you, and congratulations, to all the contributors.

All the best,

Arthur

On 12/6/22 12:03, Richard Biener via Gcc-rust wrote:
On Tue, Dec 6, 2022 at 11:11 AM <arthur.co...@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.




--
Arthur Cohen <arthur.co...@embecosm.com>

Toolchain Engineer

Embecosm GmbH

Geschäftsführer: Jeremy Bennett
Niederlassung: Nürnberg
Handelsregister: HR-B 36368
www.embecosm.de

Fürther Str. 27
90429 Nürnberg


Tel.: 091 - 128 707 040
Fax: 091 - 128 707 077

Attachment: OpenPGP_0x1B3465B044AD9C65.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to