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