From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id C149B38928D6; Wed, 8 Jun 2022 12:43:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C149B38928D6 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] Merge #1206 #1209 #1211 #1212 #1213 X-Act-Checkin: gcc X-Git-Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com> X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: aa5ab23081958653a9b84afb0af19c4ae13fd92c X-Git-Newrev: 21b9e1226cfbc4137a881a71c5e6f904fc5b364e Message-Id: <20220608124302.C149B38928D6@sourceware.org> Date: Wed, 8 Jun 2022 12:43:02 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jun 2022 12:43:02 -0000 https://gcc.gnu.org/g:21b9e1226cfbc4137a881a71c5e6f904fc5b364e commit 21b9e1226cfbc4137a881a71c5e6f904fc5b364e Merge: aa5ab230819 48cad9e8aed aa372462f48 0472834ddf1 884b9366862 cb22cd9da3d Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com> Date: Wed May 4 10:56:47 2022 +0000 Merge #1206 #1209 #1211 #1212 #1213 1206: Use correct format specifiers for unisnged HOST_WIDE_INT r=philberty a=philberty The code here was wrongly assuming the unsigned long interface which is not correctly for all targets. 1209: Allow match on boolean expressions r=philberty a=dafaust Enables compiling `match` expressions where the scrutinee is a boolean expression. Also enable compiling match arms with Literal patterns, since `true` and `false` literals are commonly used with matches on boolean expressions. Fixes: #1207 1211: Preserve inside_loop context when type checking match r=philberty a=dafaust Previously, we would lose the context of being inside a loop when compiling a `match`. This would lead to incorrect error messages like "cannot 'break' outside of a loop" when trying to break out of a loop from within a `match` expression. Fixes: #1196 1212: intrinsic: add breakpoint intrinsic r=philberty a=liushuyu - intrinsic: add breakpoint intrinsic Addresses #658 1213: intrinsic: add rotate_left and rotate_right intrinsic r=philberty a=liushuyu - intrinsic: add rotate_left and rotate_right intrinsic Address #658 Co-authored-by: Philip Herron Co-authored-by: David Faust Co-authored-by: liushuyu Diff: gcc/rust/backend/rust-compile-expr.cc | 51 ++++++--- gcc/rust/backend/rust-compile-intrinsic.cc | 129 +++++++++++++++++++++- gcc/rust/backend/rust-compile-pattern.cc | 14 +++ gcc/rust/backend/rust-compile-pattern.h | 2 +- gcc/rust/backend/rust-compile.cc | 13 ++- gcc/rust/typecheck/rust-hir-type-check-expr.h | 2 +- gcc/testsuite/rust/execute/torture/match_bool1.rs | 44 ++++++++ gcc/testsuite/rust/execute/torture/match_loop1.rs | 51 +++++++++ 8 files changed, 281 insertions(+), 25 deletions(-)