From: Arthur Cohen Date: Wed, 5 Mar 2025 15:33:31 +0000 (+0000) Subject: gccrs: dump: Handle let-else properly X-Git-Tag: basepoints/gcc-16~474 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d68ebd1abff36196608e3411a8b1cddd6be80e0f;p=thirdparty%2Fgcc.git gccrs: dump: Handle let-else properly gcc/rust/ChangeLog: * ast/rust-ast-collector.cc (TokenCollector::visit): Add handling for diverging else expression. --- diff --git a/gcc/rust/ast/rust-ast-collector.cc b/gcc/rust/ast/rust-ast-collector.cc index 073fa728dcf..3297407e6e8 100644 --- a/gcc/rust/ast/rust-ast-collector.cc +++ b/gcc/rust/ast/rust-ast-collector.cc @@ -22,6 +22,7 @@ #include "rust-expr.h" #include "rust-item.h" #include "rust-keyword-values.h" +#include "rust-location.h" #include "rust-path.h" #include "rust-system.h" #include "rust-token.h" @@ -2587,6 +2588,13 @@ TokenCollector::visit (LetStmt &stmt) push (Rust::Token::make (EQUAL, UNDEF_LOCATION)); visit (stmt.get_init_expr ()); } + + if (stmt.has_else_expr ()) + { + push (Rust::Token::make (ELSE, UNDEF_LOCATION)); + visit (stmt.get_else_expr ()); + } + push (Rust::Token::make (SEMICOLON, UNDEF_LOCATION)); }