From: Pierre-Emmanuel Patry Date: Tue, 1 Apr 2025 10:02:31 +0000 (+0200) Subject: Visit loop label before predicate expression X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b079d612f685de0d7780837bae5bfe88ce46ccbe;p=thirdparty%2Fgcc.git Visit loop label before predicate expression If the label is referenced within the while predicate expression it has to be resolved before the latter. gcc/rust/ChangeLog: * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Change default visit order. gcc/testsuite/ChangeLog: * rust/compile/nr2/exclude: Remove test from exclusion list. Signed-off-by: Pierre-Emmanuel Patry --- diff --git a/gcc/rust/ast/rust-ast-visitor.cc b/gcc/rust/ast/rust-ast-visitor.cc index b5da001da5a..7791489a166 100644 --- a/gcc/rust/ast/rust-ast-visitor.cc +++ b/gcc/rust/ast/rust-ast-visitor.cc @@ -567,9 +567,9 @@ void DefaultASTVisitor::visit (AST::WhileLoopExpr &expr) { visit_outer_attrs (expr); - visit (expr.get_predicate_expr ()); if (expr.has_loop_label ()) visit (expr.get_loop_label ()); + visit (expr.get_predicate_expr ()); visit (expr.get_loop_block ()); } diff --git a/gcc/testsuite/rust/compile/nr2/exclude b/gcc/testsuite/rust/compile/nr2/exclude index 2f4585cbe8c..c688026a7b8 100644 --- a/gcc/testsuite/rust/compile/nr2/exclude +++ b/gcc/testsuite/rust/compile/nr2/exclude @@ -14,9 +14,7 @@ pub_restricted_2.rs pub_restricted_3.rs undeclared_label.rs use_1.rs -while_break_expr.rs issue-2905-2.rs -issue-266.rs derive_clone_enum3.rs derive-debug1.rs derive-default1.rs