From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by sourceware.org (Postfix) with ESMTPS id B52E9395A06D for ; Tue, 6 Dec 2022 10:11:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B52E9395A06D 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-x436.google.com with SMTP id u12so21777042wrr.11 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=NTZWdkc8WWnwxbDPpy8fmplS8Ks4wjkcDPor/e1I5IkaI6aVYDQ4wdzHIdLdvNVO6c K/T4lQzmjet2IDT/pT50AxFDjSlrppabRHxJtDiUcOqy0Mge6x55x1BFsbYwAU621f1r 5+bMTLnvrWxro2LQXEVitTHPmhsnMFTZZOd12Lvw3l265GHldbTzQpChTVA73WTDxwZr Yh4BEJV99hFLMYa60a4fWQIoBGOn+qVDtDBd9TrI939MfLvH/Ax9d6vG9UU0nrBaUw9T JtLNny5tNUKyUFnRQwuixuYiOXiZ94EgNDMIJ00goSY4r+oS39DntNbAZlI3gBoT2MTm BtQQ== X-Gm-Message-State: ANoB5pngicrseeENtkaygOgKaeqjO2REzWtsIpGALhWcWXswtD8vBZDR qpWHEKgoeWIkBGZ4fuRDmjQkrGtypTlABkZfXw== 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=-32.5 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.