From c8b9c41bf248b952b0260c7b2f1e4c24cdaffae1 Mon Sep 17 00:00:00 2001 From: Philip Herron Date: Tue, 9 Feb 2021 11:48:12 +0000 Subject: Fix parsing |= as a compound assignment expression. Fixes #173 --- gcc/rust/parse/rust-parse-impl.h | 2 ++ gcc/testsuite/rust.test/compilable/compound_assignment_expr1.rs | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 906f6b1..be71231 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -386,6 +386,8 @@ Parser::left_binding_power (const_TokenPtr token) return LBP_MOD_ASSIG; case AMP_EQ: return LBP_AMP_ASSIG; + case PIPE_EQ: + return LBP_PIPE_ASSIG; case CARET_EQ: return LBP_CARET_ASSIG; case LEFT_SHIFT_EQ: diff --git a/gcc/testsuite/rust.test/compilable/compound_assignment_expr1.rs b/gcc/testsuite/rust.test/compilable/compound_assignment_expr1.rs index add4a5f..1ff0d24 100644 --- a/gcc/testsuite/rust.test/compilable/compound_assignment_expr1.rs +++ b/gcc/testsuite/rust.test/compilable/compound_assignment_expr1.rs @@ -16,8 +16,7 @@ fn main() { d /= 4; e %= 5; f &= 6; - // https://github.com/Rust-GCC/gccrs/issues/173 - // g |= 7; + g |= 7; h ^= 8; i <<= 9; j >>= 10; -- cgit v1.1