From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by sourceware.org (Postfix) with ESMTPS id C075B3865C2C for ; Wed, 26 Oct 2022 08:15:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C075B3865C2C 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-x42e.google.com with SMTP id bk15so25017950wrb.13 for ; Wed, 26 Oct 2022 01:15:27 -0700 (PDT) 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=pceGe03lW+bIpa1dg9z4OjlhOIyl/NeuSFdhbhXR5gQ=; b=TIde+Pqhjd5AcwGWTgu1QWOU72YnO5zuVLlUZY8/6NUvtOa3e1CKzUzN3GGsWWs2r7 uRmBgtiyfcHkWCJcSjIrBDeLT0Egy1vkeyXgFMX3A6p1enWkwngGdCYhrEiD/wgwQPzv jPvUHf9qx+eCj/1/W3Dx3M036oXwflo/Weny5sNL/XbQYdVAsAWtqLztF89jBDh5tuXR xtn2PTsXIXdtv0LhpeuULNmDWhBz8pyF+cTGhckX9f+EGAOvO6U923lYWd3rdVXlYdMZ I/JIoY8j/AUKhUP3/y/Fcf9MvRQlmdfDjs0LWqih03aEGebO+Kk0+Bi7vVmAnzkNElEz 79vg== 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=pceGe03lW+bIpa1dg9z4OjlhOIyl/NeuSFdhbhXR5gQ=; b=1W/KcUVRvEXNRwHu41It14W1fpo9RbnoFHGFUrcttYIOjzipsNnN5aiNiDKXzFrDk4 VCmbhJAg2jrir9CSWeWowQzaBR4XuClT8Qy6m0ueoN0xuywn3rxeWx+4gYjKCvBuRkv8 rTQICq5ajwE9XulijS2J4bSQQ/aetpo2oc3ZcrFqhVGzX0P7FFMc2XucECPVqH0CBgJ0 751KZeM0u7+jw85qTRXQrzhkdRtzCm3O31MArejRl28co291JHmqbvfuge4+4trQVV1K J7AGnDnho71XwcR+hOHDAjnOfE5hFfOsYoVZhg4og9g9jVIFlqszVFledx95Vp4EmlWi Tkhg== X-Gm-Message-State: ACrzQf04/K1S8rpz84hRaRK2d5dBoFZ0fdftDCwGZcineXEsS+PW2v8y UlrPIGBBadbyukZjGg4kgXx4 X-Google-Smtp-Source: AMsMyM4HjOnnPDPhYBitAgbMf1wioLPiVKeif5bz4KjweEBfU5ntfzTnCYoCUfIaq/TdtFCWk2sRMA== X-Received: by 2002:a05:6000:1ace:b0:22f:7201:74c0 with SMTP id i14-20020a0560001ace00b0022f720174c0mr28255536wry.216.1666772126354; Wed, 26 Oct 2022 01:15:26 -0700 (PDT) Received: from platypus.lan ([2001:861:5e4c:3bb0:6424:328a:1734:3249]) by smtp.googlemail.com with ESMTPSA id q16-20020a05600c46d000b003c6f426467fsm1134310wmo.40.2022.10.26.01.15.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Oct 2022 01:15:25 -0700 (PDT) From: arthur.cohen@embecosm.com To: gcc-patches@gcc.gnu.org Cc: gcc-rust@gcc.gnu.org Subject: Rust frontend patches v3 Date: Wed, 26 Oct 2022 10:17:25 +0200 Message-Id: <20221026081811.602573-1-arthur.cohen@embecosm.com> X-Mailer: git-send-email 2.37.2 Reply-To: arthur.cohen@embecosm.com MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.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 is the fixed version of our previous patch set for gccrs - We've adressed the comments raised in our previous emails. This patch set does not contain any work that was not previously included, such as closure support, the constant evaluator port, or the better implementation of target hooks by Iain Buclaw. They will follow up in subsequent patch sets. Thanks again to Open Source Security, inc and Embecosm who have accompanied us for this work. Many thanks to all of the contributors and our community, who made this possible. A very special thanks to Philip Herron, without whose mentoring I would have never been in a position to send these patches. 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 The patch set contains the following: [PATCH Rust front-end v3 01/46] Use DW_ATE_UTF for the Rust 'char' [PATCH Rust front-end v3 02/46] gccrs: Add nessecary hooks for a Rust [PATCH Rust front-end v3 03/46] gccrs: Add Debug info testsuite [PATCH Rust front-end v3 04/46] gccrs: Add link cases testsuite [PATCH Rust front-end v3 05/46] gccrs: Add general compilation test [PATCH Rust front-end v3 06/46] gccrs: Add execution test cases [PATCH Rust front-end v3 07/46] gccrs: Add gcc-check-target [PATCH Rust front-end v3 08/46] gccrs: Add Rust front-end base AST [PATCH Rust front-end v3 09/46] gccrs: Add definitions of Rust Items [PATCH Rust front-end v3 10/46] gccrs: Add full definitions of Rust [PATCH Rust front-end v3 11/46] gccrs: Add Rust AST visitors [PATCH Rust front-end v3 12/46] gccrs: Add Lexer for Rust front-end [PATCH Rust front-end v3 13/46] gccrs: Add Parser for Rust front-end [PATCH Rust front-end v3 14/46] gccrs: Add Parser for Rust front-end [PATCH Rust front-end v3 15/46] gccrs: Add expansion pass for the [PATCH Rust front-end v3 16/46] gccrs: Add name resolution pass to [PATCH Rust front-end v3 17/46] gccrs: Add declarations for Rust HIR [PATCH Rust front-end v3 18/46] gccrs: Add HIR definitions and [PATCH Rust front-end v3 19/46] gccrs: Add AST to HIR lowering pass [PATCH Rust front-end v3 20/46] gccrs: Add wrapper for make_unique [PATCH Rust front-end v3 21/46] gccrs: Add port of FNV hash used [PATCH Rust front-end v3 22/46] gccrs: Add Rust ABI enum helpers [PATCH Rust front-end v3 23/46] gccrs: Add Base62 implementation [PATCH Rust front-end v3 24/46] gccrs: Add implementation of Optional [PATCH Rust front-end v3 25/46] gccrs: Add attributes checker [PATCH Rust front-end v3 26/46] gccrs: Add helpers mappings canonical [PATCH Rust front-end v3 27/46] gccrs: Add type resolution and trait [PATCH Rust front-end v3 28/46] gccrs: Add Rust type information [PATCH Rust front-end v3 29/46] gccrs: Add remaining type system [PATCH Rust front-end v3 30/46] gccrs: Add unsafe checks for Rust [PATCH Rust front-end v3 31/46] gccrs: Add const checker [PATCH Rust front-end v3 32/46] gccrs: Add privacy checks [PATCH Rust front-end v3 33/46] gccrs: Add dead code scan on HIR [PATCH Rust front-end v3 34/46] gccrs: Add unused variable scan [PATCH Rust front-end v3 35/46] gccrs: Add metadata ouptput pass [PATCH Rust front-end v3 36/46] gccrs: Add base for HIR to GCC [PATCH Rust front-end v3 37/46] gccrs: Add HIR to GCC GENERIC [PATCH Rust front-end v3 38/46] gccrs: Add HIR to GCC GENERIC [PATCH Rust front-end v3 39/46] gccrs: These are wrappers ported from [PATCH Rust front-end v3 40/46] gccrs: Add GCC Rust front-end [PATCH Rust front-end v3 41/46] gccrs: Add config-lang.in [PATCH Rust front-end v3 42/46] gccrs: Add lang-spec.h [PATCH Rust front-end v3 43/46] gccrs: Add lang.opt [PATCH Rust front-end v3 44/46] gccrs: Add compiler driver [PATCH Rust front-end v3 45/46] gccrs: Compiler proper interface [PATCH Rust front-end v3 46/46] gccrs: Add README, CONTRIBUTING and