From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) by sourceware.org (Postfix) with ESMTPS id 4B97F395A049 for ; Tue, 6 Dec 2022 10:11:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4B97F395A049 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embecosm.com Received: by mail-wr1-x42b.google.com with SMTP id y16so22755008wrm.2 for ; Tue, 06 Dec 2022 02:11:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=content-transfer-encoding:mime-version:reply-to:message-id:date :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=3FH5JLH3hz+VNub8lAPYqwMC4JDwDiRH0yFzBPoJ2EU=; b=TOtvmSQ7HlZwcvQUoL2RgEZxX0TNnv1vsRivsRSaWjd/SBtupiWcV1+v61o2t2EubE 9d4LvS5yWyrFG6tQ4+P1G0ZXur0zJN53NY8Zed7nqrfgRtPK5pmT0wAf0a9qrNUIAZn+ f77ewxKTIN3bOlMh1qEfUA3FsmxmsPCjSUYOreBIm8yfPg64Mgce5udIUR9+3Ze0bKoS ioS0kNFzN4Tt4+EXKdtck6jweKaDZMfIqS8wNvylFOLhI1m3NTYRh+69jYmsCTAymVNd 477jbpnx4s9cG5vz5+R7ft01Kt/wzebhfMu8ojTDjynF2sh1f21LHr+TLLkt5Fn0YvGs xRsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:reply-to:message-id:date :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3FH5JLH3hz+VNub8lAPYqwMC4JDwDiRH0yFzBPoJ2EU=; b=Oec1V85upDJg4PwYgO4SKPP+dCt2hVWteI70C6KPtrtDQE0E49ApGo4Y6kEutIMbWx zr0uGZAVNsh4tmy2P2eXSaOHynS1HnqjoUCeZZgvFOrLcOSeMnFceA9tuNSq+3xsUd9J pvSqpJ5MMsbWhxplmbR+yqgs+jEMspiYdk2fsBezNpxXtHVIqY8IABNBAWmtNZTqnUe3 810/PQpT4Ts5XhLawY52EIicNZiWhQKJBEubhP7m/bVs2JDpACVVfECeCqfyI52Qjd00 f5g1inIHU7jcqf4r6kvjJiXZTcdxHiYCoHDC2fopa1iNAmnVWQQVCE6wgWKYWLGy66D/ m0bA== X-Gm-Message-State: ANoB5pmyZkGWYsfcaMt2ZJS6F5wYsKwiMARuA+T6UNqx4Zd4Jd+Yg86H NoH2MqU5rZ8r2JXsfdUqa46KU6t6hCmQsnRntw== X-Google-Smtp-Source: AA0mqf5pigcxXh+ad6f3rwOglMJEjMeCa98mAtGc/ScKnDQkBVYab5doXrLKAxjFZ5DCV/Y9a0VdVg== X-Received: by 2002:a5d:6b8d:0:b0:236:4c14:4e4c with SMTP id n13-20020a5d6b8d000000b002364c144e4cmr52596411wrx.634.1670321474035; Tue, 06 Dec 2022 02:11:14 -0800 (PST) Received: from platypus.lan ([2001:861:5e4c:3bb0:6424:328a:1734:3249]) by smtp.googlemail.com with ESMTPSA id r10-20020a05600c458a00b003cfd4a50d5asm27052699wmo.34.2022.12.06.02.11.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Dec 2022 02:11:13 -0800 (PST) From: arthur.cohen@embecosm.com To: gcc-patches@gcc.gnu.org Cc: gcc-rust@gcc.gnu.org Subject: Rust front-end patches v4 Date: Tue, 6 Dec 2022 11:13:31 +0100 Message-Id: <20221206101417.778807-1-arthur.cohen@embecosm.com> X-Mailer: git-send-email 2.38.1 Reply-To: arthur.cohen@embecosm.com MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-94.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_NUMSUBJECT,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 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.