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

The visitor was visiting loop label even when they did not exist.

gcc/rust/ChangeLog:

        * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Add
        check for loop label before visiting it.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>
---
 gcc/rust/ast/rust-ast-visitor.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/rust/ast/rust-ast-visitor.cc b/gcc/rust/ast/rust-ast-visitor.cc
index 73c6b1ee31e..38617bf4a99 100644
--- a/gcc/rust/ast/rust-ast-visitor.cc
+++ b/gcc/rust/ast/rust-ast-visitor.cc
@@ -559,7 +559,8 @@ void
 DefaultASTVisitor::visit (AST::LoopExpr &expr)
 {
   visit_outer_attrs (expr);
-  visit (expr.get_loop_label ());
+  if (expr.has_loop_label ())
+    visit (expr.get_loop_label ());
   visit (expr.get_loop_block ());
 }
 
-- 
2.49.0

Reply via email to