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 8917A3852769; Wed, 24 Aug 2022 12:00:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8917A3852769 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=googlemail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=googlemail.com Received: by mail-wr1-x436.google.com with SMTP id z16so1687519wrh.10; Wed, 24 Aug 2022 05:00:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20210112; h=content-transfer-encoding:mime-version:reply-to:message-id:date :subject:cc:to:from:from:to:cc; bh=rztcJmF6ZO5Qkv32ridrT6PWnhZe/9ea0kJ1syKne18=; b=cM9AX4Hplq6ZlNiw29nxjdkWzoqikSJsstPz7vr7iOlq8KGMwNHfQFxzSWUkTvM/Ba 8izgs+6XGGkgpD/fZ0EcqaNriLjfVbHtfZousc721iMrBdhQTs15hMNMoBqXbLc6Qo6H jcNQSGjSPug4xDXBNh0DJPWLcV9xOEXSrm6wA8CA2XVqg6pn1lh7XHAvC5nog8cEIb1d pKgc1/Ap0ltY+JQoJGcCnNRYjjctTuT71ozz+vy2xdyrI6J146iMPVuH+EzpUS6se7OT aFuIgOUlJdzjw/RZxogfVhmgNs1zxk6EFz3lsrLjjK6H4NM1fn4vEWbtWMv466G+gBDg J4Pg== 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; bh=rztcJmF6ZO5Qkv32ridrT6PWnhZe/9ea0kJ1syKne18=; b=BJkifhNunKGiguGttoPuzG1p3d1d0PQ+Y6k1KwcAbcqZ0ds6T1ohS86gyIvx4NkZTk 59pv24MVBYhF5B13X9TxxIWrwrIiWrhqtUj49Tk62e5v5qz0FzlUXBMpvIfxt2LNnJWX 9BCD/Ei/hbo3uoD4LUbwbERbDUZrmNE0T9hgL7q8m4vsKD9hoRYkgdKtVa4OzvYJ7hvy 2OKy+i7yrkldYbyS2eNxjNQxtQ6f+IJ900KXS1bIy6vz4RIue8jMvDLQEXCJ6S8VJn0e bRV8JP6d13hoUGrZYm7ir4ryBfhUxGoEd4UwdqSEy5JfBNC37MPWc5Aj3q+PG9AVD0T6 zPDw== X-Gm-Message-State: ACgBeo1A7IpLX+WDkWfDJxP0GdS5dg9XHAawRPMfbR+N7+bIv9SozN/z GAMdXdpI4SHgzWOHKybazaqqAwxmOi4= X-Google-Smtp-Source: AA6agR6Re6cr80EPDt80tyvSG471Rgw1F8VCCyyoOrKdpuNUyL5a8srchtewApCYdDxcR7OJLWCq6w== X-Received: by 2002:a5d:43c2:0:b0:225:2d8a:ad25 with SMTP id v2-20020a5d43c2000000b002252d8aad25mr15757032wrr.208.1661342407855; Wed, 24 Aug 2022 05:00:07 -0700 (PDT) Received: from localhost.localdomain ([86.14.124.218]) by smtp.gmail.com with ESMTPSA id cc19-20020a5d5c13000000b0022571d43d32sm1697676wrb.21.2022.08.24.05.00.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Aug 2022 05:00:06 -0700 (PDT) From: herron.philip@googlemail.com X-Google-Original-From: philip.herron@embecosm.com To: gcc-patches@gcc.gnu.org Cc: gcc-rust@gcc.gnu.org Subject: Rust frontend patches v2 Date: Wed, 24 Aug 2022 12:59:19 +0100 Message-Id: <20220824115956.737931-1-philip.herron@embecosm.com> X-Mailer: git-send-email 2.25.1 Reply-To: philip.herron@embecosm.com MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_NUMSUBJECT,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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 2nd patch set for gccrs, since v1 we have dropped the changes for target hooks which are not nessecary for us right now. This now focuses directly on the front-end the only patch that affects GCC now is a tweak to debug info. Note we are close to merging our port of the C++ constexpr code into our front-end but this patch set does not include this yet. Thanks to Open Source Security, inc and Embecosm for sponsoring this work. Special thanks to all of those who have contributed thus far. See our branch over on https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/devel/rust/master We are currently testing on every commit the following systems: - Debian i386 - all tests passing - Debian testing-x86_64 - all tests passing - Fedora arm64 - all tests passing - Fedora X86_64 - all tests passing - OpenSUSE Leap X86_64 - all tests passing - OpenSUSE tw X86_64 - all tests passing - Rawhide X86_64 - all tests passing - macos x86_64 - all tests passing - Debian ppc64 - some tests failing - Fedora ppc64le - some tests failing - Fedora s390x - some tests failing The patch set is as follows: [PATCH Rust front-end v2 01/37] Use DW_ATE_UTF for the Rust 'char' [PATCH Rust front-end v2 02/37] gccrs: Add nessecary hooks for a Rust [PATCH Rust front-end v2 03/37] gccrs: Add Debug info testsuite [PATCH Rust front-end v2 04/37] gccrs: Add link cases testsuite [PATCH Rust front-end v2 05/37] gccrs: Add general compilation test [PATCH Rust front-end v2 06/37] gccrs: Add execution test cases [PATCH Rust front-end v2 07/37] gccrs: Add gcc-check-target [PATCH Rust front-end v2 08/37] gccrs: Add the Rust front-end AST [PATCH Rust front-end v2 09/37] gccrs: Add Lexer for Rust front-end [PATCH Rust front-end v2 10/37] gccrs: Add Parser for Rust front-end [PATCH Rust front-end v2 11/37] gccrs: Add expansion pass for the [PATCH Rust front-end v2 12/37] gccrs: Add name resolution pass to [PATCH Rust front-end v2 13/37] gccrs: Add second intermedite [PATCH Rust front-end v2 14/37] gccrs: Add AST to HIR lowering pass [PATCH Rust front-end v2 15/37] gccrs: Add wrapper for make_unique [PATCH Rust front-end v2 16/37] gccrs: Add port of FNV hash used [PATCH Rust front-end v2 17/37] gccrs: Add Rust ABI enum helpers [PATCH Rust front-end v2 18/37] gccrs: Add Base62 implementation [PATCH Rust front-end v2 19/37] gccrs: Add implementation of Optional [PATCH Rust front-end v2 20/37] gccrs: Add attributes checker [PATCH Rust front-end v2 21/37] gccrs: Add helpers mappings canonical [PATCH Rust front-end v2 22/37] gccrs: Add type resolution and trait [PATCH Rust front-end v2 23/37] gccrs: Add unsafe checks for Rust [PATCH Rust front-end v2 24/37] gccrs: Add const checker [PATCH Rust front-end v2 25/37] gccrs: Add privacy checks [PATCH Rust front-end v2 26/37] gccrs: Add dead code scan on HIR [PATCH Rust front-end v2 27/37] gccrs: Add unused variable scan [PATCH Rust front-end v2 28/37] gccrs: Add metadata ouptput pass [PATCH Rust front-end v2 29/37] gccrs: HIR to GCC GENERIC lowering [PATCH Rust front-end v2 30/37] gccrs: These are wrappers ported from [PATCH Rust front-end v2 31/37] gccrs: Add GCC Rust front-end [PATCH Rust front-end v2 32/37] gccrs: Add config-lang.in [PATCH Rust front-end v2 33/37] gccrs: add lang-spec.h [PATCH Rust front-end v2 34/37] gccrs: add lang.opt [PATCH Rust front-end v2 35/37] gccrs: add compiler driver [PATCH Rust front-end v2 36/37] gccrs: compiler proper interface [PATCH Rust front-end v2 37/37] gccrs: Add README, CONTRIBUTING and