From: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>

gcc/rust/ChangeLog:

        * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Visit loop label
        only if it exists.

gcc/testsuite/ChangeLog:

        * rust/compile/nr2/exclude: Remove passing test.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>
---
 gcc/rust/ast/rust-ast-visitor.cc       | 3 ++-
 gcc/testsuite/rust/compile/nr2/exclude | 2 --
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/gcc/rust/ast/rust-ast-visitor.cc b/gcc/rust/ast/rust-ast-visitor.cc
index 9a8c24f17d8..6a81fa10aab 100644
--- a/gcc/rust/ast/rust-ast-visitor.cc
+++ b/gcc/rust/ast/rust-ast-visitor.cc
@@ -568,7 +568,8 @@ DefaultASTVisitor::visit (AST::WhileLoopExpr &expr)
 {
   visit_outer_attrs (expr);
   visit (expr.get_predicate_expr ());
-  visit (expr.get_loop_label ());
+  if (expr.has_loop_label ())
+    visit (expr.get_loop_label ());
   visit (expr.get_loop_block ());
 }
 
diff --git a/gcc/testsuite/rust/compile/nr2/exclude 
b/gcc/testsuite/rust/compile/nr2/exclude
index 76ef39f982d..2f4585cbe8c 100644
--- a/gcc/testsuite/rust/compile/nr2/exclude
+++ b/gcc/testsuite/rust/compile/nr2/exclude
@@ -23,8 +23,6 @@ derive-default1.rs
 derive-eq-invalid.rs
 derive-hash1.rs
 torture/alt_patterns1.rs
-torture/loop4.rs
-torture/loop8.rs
 torture/name_resolve1.rs
 issue-3568.rs
 issue-3663.rs
-- 
2.49.0

Reply via email to