]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Added missing GroupedPattern visitors for code generation
authorOwen Avery <powerboat9.gamer@gmail.com>
Wed, 11 Jan 2023 16:57:28 +0000 (11:57 -0500)
committerArthur Cohen <arthur.cohen@embecosm.com>
Thu, 6 Apr 2023 08:47:18 +0000 (10:47 +0200)
gcc/rust/ChangeLog:

* backend/rust-compile-pattern.cc (CompilePatternCaseLabelExpr::visit): Add proper
visitor.
(CompilePatternBindings::visit): Likewise.
* backend/rust-compile-pattern.h: Declare them.

Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
gcc/rust/backend/rust-compile-pattern.cc
gcc/rust/backend/rust-compile-pattern.h

index fc70d4ba58dda09e218d07dca9a199b4d5a992f8..9218b815dd8aac7af0a6606370ec28b68fae5b05 100644 (file)
@@ -161,6 +161,12 @@ CompilePatternCaseLabelExpr::visit (HIR::RangePattern &pattern)
   case_label_expr = build_case_label (lower, upper, associated_case_label);
 }
 
+void
+CompilePatternCaseLabelExpr::visit (HIR::GroupedPattern &pattern)
+{
+  pattern.get_item ()->accept_vis (*this);
+}
+
 // setup the bindings
 
 void
@@ -329,5 +335,11 @@ CompilePatternBindings::visit (HIR::StructPattern &pattern)
     }
 }
 
+void
+CompilePatternBindings::visit (HIR::GroupedPattern &pattern)
+{
+  pattern.get_item ()->accept_vis (*this);
+}
+
 } // namespace Compile
 } // namespace Rust
index 22812a45405a84c1a0e0304cee1b040ef08415df..43334affca7bfef7ee1a0ac9e811413f65c43f36 100644 (file)
@@ -38,9 +38,9 @@ public:
   void visit (HIR::TupleStructPattern &pattern) override;
   void visit (HIR::WildcardPattern &pattern) override;
   void visit (HIR::RangePattern &pattern) override;
+  void visit (HIR::GroupedPattern &pattern) override;
 
   // Empty visit for unused Pattern HIR nodes.
-  void visit (HIR::GroupedPattern &) override {}
   void visit (HIR::IdentifierPattern &) override {}
   void visit (HIR::LiteralPattern &) override;
   void visit (HIR::QualifiedPathInExpression &) override {}
@@ -70,9 +70,9 @@ public:
 
   void visit (HIR::StructPattern &pattern) override;
   void visit (HIR::TupleStructPattern &pattern) override;
+  void visit (HIR::GroupedPattern &) override;
 
   // Empty visit for unused Pattern HIR nodes.
-  void visit (HIR::GroupedPattern &) override {}
   void visit (HIR::IdentifierPattern &) override {}
   void visit (HIR::LiteralPattern &) override {}
   void visit (HIR::PathInExpression &) override {}