aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/parse/rust-parse.h
diff options
context:
space:
mode:
authorJakub Dupak <dev@jakubdupak.com>2023-10-16 14:42:49 +0200
committerP-E-P <32375388+P-E-P@users.noreply.github.com>2023-10-20 08:35:27 +0000
commitee60ec5429212532f994e4c66c2a1756884b401e (patch)
treefacead8ed48ccbf1824979670065a35ba2bf6355 /gcc/rust/parse/rust-parse.h
parentcdd548b64918100e07c78dc7467d68383977a7d2 (diff)
downloadgcc-ee60ec5429212532f994e4c66c2a1756884b401e.zip
gcc-ee60ec5429212532f994e4c66c2a1756884b401e.tar.gz
gcc-ee60ec5429212532f994e4c66c2a1756884b401e.tar.bz2
ast: Parse labelled block
gcc/rust/ChangeLog: * ast/rust-ast-builder.cc (AstBuilder::block): Add label arg to constructor call. * ast/rust-expr.h (class LoopLabel): Move before BlockExpr. (class BlockExpr): Add LoopLabel member. * expand/rust-derive-clone.cc (DeriveClone::clone_fn): Add label arg to constructor call. * parse/rust-parse-impl.h (Parser::parse_block_expr): Add label parameter. (Parser::parse_labelled_loop_expr): Add label arg to constructor call. * parse/rust-parse.h: Add label arg to constructor call. Signed-off-by: Jakub Dupak <dev@jakubdupak.com>
Diffstat (limited to 'gcc/rust/parse/rust-parse.h')
-rw-r--r--gcc/rust/parse/rust-parse.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/rust/parse/rust-parse.h b/gcc/rust/parse/rust-parse.h
index d5c1219..6a69533 100644
--- a/gcc/rust/parse/rust-parse.h
+++ b/gcc/rust/parse/rust-parse.h
@@ -139,6 +139,7 @@ public:
std::unique_ptr<AST::BlockExpr>
parse_block_expr (AST::AttrVec outer_attrs = AST::AttrVec (),
+ AST::LoopLabel label = AST::LoopLabel::error (),
location_t pratt_parsed_loc = UNKNOWN_LOCATION);
bool is_macro_rules_def (const_TokenPtr t);
@@ -590,9 +591,9 @@ private:
AST::MatchArm parse_match_arm ();
std::vector<std::unique_ptr<AST::Pattern> >
parse_match_arm_patterns (TokenId end_token_id);
- std::unique_ptr<AST::BaseLoopExpr>
- parse_labelled_loop_expr (const_TokenPtr tok,
- AST::AttrVec outer_attrs = AST::AttrVec ());
+ std::unique_ptr<AST::Expr> parse_labelled_loop_expr (const_TokenPtr tok,
+ AST::AttrVec outer_attrs
+ = AST::AttrVec ());
AST::LoopLabel parse_loop_label (const_TokenPtr tok);
std::unique_ptr<AST::AsyncBlockExpr>
parse_async_block_expr (AST::AttrVec outer_attrs = AST::AttrVec ());