aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2023-01-11 11:57:28 -0500
committerArthur Cohen <arthur.cohen@embecosm.com>2023-04-06 10:47:18 +0200
commit221650c280c4a02ff472436a32bb267c7b5f8d22 (patch)
tree5d2f58afd15660d94ff4d0c41182aff3592f89eb
parent83e5f634d746a9b57b1c63eb33e072f53f61995d (diff)
downloadgcc-221650c280c4a02ff472436a32bb267c7b5f8d22.zip
gcc-221650c280c4a02ff472436a32bb267c7b5f8d22.tar.gz
gcc-221650c280c4a02ff472436a32bb267c7b5f8d22.tar.bz2
gccrs: Added missing GroupedPattern visitors for code generation
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>
-rw-r--r--gcc/rust/backend/rust-compile-pattern.cc12
-rw-r--r--gcc/rust/backend/rust-compile-pattern.h4
2 files changed, 14 insertions, 2 deletions
diff --git a/gcc/rust/backend/rust-compile-pattern.cc b/gcc/rust/backend/rust-compile-pattern.cc
index fc70d4b..9218b81 100644
--- a/gcc/rust/backend/rust-compile-pattern.cc
+++ b/gcc/rust/backend/rust-compile-pattern.cc
@@ -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
diff --git a/gcc/rust/backend/rust-compile-pattern.h b/gcc/rust/backend/rust-compile-pattern.h
index 22812a4..43334af 100644
--- a/gcc/rust/backend/rust-compile-pattern.h
+++ b/gcc/rust/backend/rust-compile-pattern.h
@@ -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 {}