[committed 87/88] gccrs: Address unsafe with/without block handling ambiguity

arthur.cohen@embecosm.com arthur.cohen@embecosm.com
Wed Apr 5 14:04:11 GMT 2023


From: Owen Avery <powerboat9.gamer@gmail.com>

gcc/rust/ChangeLog:

	* parse/rust-parse-impl.h
	(Parser::parse_expr_stmt): Remove hypothetical unsafe + expr_stmt_without_block handling.

Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
---
 gcc/rust/parse/rust-parse-impl.h | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h
index 6a98bcce654..1e5b2dc85ed 100644
--- a/gcc/rust/parse/rust-parse-impl.h
+++ b/gcc/rust/parse/rust-parse-impl.h
@@ -7188,18 +7188,9 @@ Parser<ManagedTokenSource>::parse_expr_stmt (AST::AttrVec outer_attrs,
 	  }
       }
       case UNSAFE: {
-	/* FIXME: are there any expressions without blocks that can have
-	 * unsafe as their first token? Or is unsafe the only one? */
-	// safe side for now
-	if (lexer.peek_token (1)->get_id () == LEFT_CURLY)
-	  {
-	    return parse_expr_stmt_with_block (std::move (outer_attrs));
-	  }
-	else
-	  {
-	    return parse_expr_stmt_without_block (std::move (outer_attrs),
-						  restrictions);
-	  }
+	// unsafe block
+	// https://doc.rust-lang.org/reference/unsafe-keyword.html
+	return parse_expr_stmt_with_block (std::move (outer_attrs));
       }
     default:
       // not a parse expr with block, so must be expr without block
-- 
2.40.0



More information about the Gcc-rust mailing list