gccrs: Address unsafe with/without block handling ambiguity
authorOwen Avery <powerboat9.gamer@gmail.com>
Fri, 27 Jan 2023 03:48:45 +0000 (22:48 -0500)
committerArthur Cohen <arthur.cohen@embecosm.com>
Thu, 6 Apr 2023 08:47:24 +0000 (10:47 +0200)
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

index 6a98bcc..1e5b2dc 100644 (file)
@@ -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