From: Pierre-Emmanuel Patry Date: Tue, 10 Oct 2023 11:11:55 +0000 (+0200) Subject: gccrs: Fix RangeFromExpr parsing in for loops X-Git-Tag: basepoints/gcc-15~2091 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dff99b7464f8c2d35915d625e9e87ac92f7abc23;p=thirdparty%2Fgcc.git gccrs: Fix RangeFromExpr parsing in for loops Those ranges were looking for a curly brace after the brace, leading to an error when using range from expr in for loops. gcc/rust/ChangeLog: * parse/rust-parse-impl.h (Parser::parse_expr): Fix range from expr. Signed-off-by: Pierre-Emmanuel Patry --- diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 1a042661568b..63dea9836df8 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -22,6 +22,7 @@ /* DO NOT INCLUDE ANYWHERE - this is automatically included with rust-parse.h * This is also the reason why there are no include guards. */ +#include "rust-token.h" #define INCLUDE_ALGORITHM #include "rust-diagnostics.h" #include "rust-make-unique.h" @@ -12089,7 +12090,7 @@ Parser::parse_expr (int right_binding_power, { TokenId id = current_token->get_id (); if (id == SEMICOLON || id == RIGHT_PAREN || id == RIGHT_CURLY - || id == RIGHT_SQUARE || id == COMMA) + || id == RIGHT_SQUARE || id == COMMA || id == LEFT_CURLY) return nullptr; }