https://gcc.gnu.org/g:38c5f0567f7cd69acb13b1fc9f97688e4ae13caf

commit r15-8402-g38c5f0567f7cd69acb13b1fc9f97688e4ae13caf
Author: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>
Date:   Thu Sep 5 13:23:52 2024 +0200

    gccrs: Remove empty visit functions
    
    We can let the default visitor visit those nodes anyway so we're sure
    all nodes can be reached.
    
    gcc/rust/ChangeLog:
    
            * resolve/rust-default-resolver.cc (DefaultResolver::visit): Remove
            empty visit function implementations.
            * resolve/rust-default-resolver.h: Remove corresponding prototypes.
    
    Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>

Diff:
---
 gcc/rust/resolve/rust-default-resolver.cc | 268 ------------------------------
 gcc/rust/resolve/rust-default-resolver.h  |  69 +-------
 2 files changed, 1 insertion(+), 336 deletions(-)

diff --git a/gcc/rust/resolve/rust-default-resolver.cc 
b/gcc/rust/resolve/rust-default-resolver.cc
index b2cdc5f52d2a..5ecea06bc6e0 100644
--- a/gcc/rust/resolve/rust-default-resolver.cc
+++ b/gcc/rust/resolve/rust-default-resolver.cc
@@ -164,14 +164,6 @@ DefaultResolver::visit (AST::Enum &type)
              variant_fn, type.get_identifier ());
 }
 
-void
-DefaultResolver::visit (AST::StructExprFieldIdentifierValue &)
-{}
-
-void
-DefaultResolver::visit (AST::StructExprFieldIndexValue &)
-{}
-
 void
 DefaultResolver::visit (AST::ClosureExprInner &expr)
 {
@@ -211,34 +203,6 @@ DefaultResolver::visit (AST::ClosureExprInnerTyped &expr)
   expr.get_return_type ().accept_vis (*this);
 }
 
-void
-DefaultResolver::visit (AST::ContinueExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::RangeFromToExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::RangeFromExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::RangeToExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::RangeFromToInclExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::RangeToInclExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::ReturnExpr &expr)
-{}
-
 void
 DefaultResolver::visit (AST::CallExpr &expr)
 {
@@ -269,18 +233,6 @@ DefaultResolver::visit (AST::MethodCallExpr &expr)
     param->accept_vis (*this);
 }
 
-void
-DefaultResolver::visit (AST::LoopExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::WhileLoopExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::WhileLetLoopExpr &expr)
-{}
-
 void
 DefaultResolver::visit (AST::IfExpr &expr)
 {
@@ -296,14 +248,6 @@ DefaultResolver::visit (AST::IfExprConseqElse &expr)
   expr.get_else_block ().accept_vis (*this);
 }
 
-void
-DefaultResolver::visit (AST::IfLetExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::IfLetExprConseqElse &)
-{}
-
 void
 DefaultResolver::visit (AST::MatchExpr &expr)
 {
@@ -321,34 +265,6 @@ DefaultResolver::visit (AST::MatchExpr &expr)
     }
 }
 
-void
-DefaultResolver::visit (AST::AwaitExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::AsyncBlockExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::DelimTokenTree &)
-{}
-
-void
-DefaultResolver::visit (AST::AttrInputMetaItemContainer &)
-{}
-
-void
-DefaultResolver::visit (AST::IdentifierExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::LifetimeParam &)
-{}
-
-void
-DefaultResolver::visit (AST::ConstGenericParam &)
-{}
-
 void
 DefaultResolver::visit (AST::PathInExpression &expr)
 {
@@ -366,98 +282,6 @@ DefaultResolver::visit (AST::PathInExpression &expr)
       }
 }
 
-void
-DefaultResolver::visit (AST::TypePathSegmentGeneric &)
-{}
-
-void
-DefaultResolver::visit (AST::TypePathSegmentFunction &)
-{}
-
-void
-DefaultResolver::visit (AST::TypePath &)
-{}
-
-void
-DefaultResolver::visit (AST::QualifiedPathInExpression &)
-{}
-
-void
-DefaultResolver::visit (AST::QualifiedPathInType &)
-{}
-
-void
-DefaultResolver::visit (AST::LiteralExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::AttrInputLiteral &)
-{}
-
-void
-DefaultResolver::visit (AST::AttrInputMacro &)
-{}
-
-void
-DefaultResolver::visit (AST::MetaItemLitExpr &expr)
-{}
-
-void
-DefaultResolver::visit (AST::MetaItemPathLit &)
-{}
-
-void
-DefaultResolver::visit (AST::StructExprStruct &)
-{}
-
-void
-DefaultResolver::visit (AST::StructExprStructFields &)
-{}
-
-void
-DefaultResolver::visit (AST::StructExprStructBase &)
-{}
-
-void
-DefaultResolver::visit (AST::TypeParam &)
-{}
-
-void
-DefaultResolver::visit (AST::LifetimeWhereClauseItem &)
-{}
-
-void
-DefaultResolver::visit (AST::TypeBoundWhereClauseItem &)
-{}
-
-void
-DefaultResolver::visit (AST::ExternCrate &)
-{}
-
-void
-DefaultResolver::visit (AST::UseTreeGlob &)
-{}
-
-void
-DefaultResolver::visit (AST::UseTreeList &)
-{}
-
-void
-DefaultResolver::visit (AST::UseTreeRebind &)
-{}
-
-void
-DefaultResolver::visit (AST::UseDeclaration &)
-{}
-
-void
-DefaultResolver::visit (AST::TypeAlias &)
-{}
-
-void
-DefaultResolver::visit (AST::EnumItem &)
-{}
-
 void
 DefaultResolver::visit (AST::EnumItemTuple &item)
 {
@@ -503,97 +327,5 @@ DefaultResolver::visit (AST::StaticItem &item)
   ctx.scoped (Rib::Kind::ConstantItem, item.get_node_id (), expr_vis);
 }
 
-void
-DefaultResolver::visit (AST::TraitItemConst &)
-{}
-
-void
-DefaultResolver::visit (AST::TraitItemType &)
-{}
-
-void
-DefaultResolver::visit (AST::ExternalTypeItem &)
-{}
-
-void
-DefaultResolver::visit (AST::ExternalStaticItem &)
-{}
-
-void
-DefaultResolver::visit (AST::MacroMatchRepetition &)
-{}
-
-void
-DefaultResolver::visit (AST::MacroMatcher &)
-{}
-
-void
-DefaultResolver::visit (AST::MacroRulesDefinition &)
-{}
-
-void
-DefaultResolver::visit (AST::MacroInvocation &)
-{}
-
-void
-DefaultResolver::visit (AST::MetaItemPath &)
-{}
-
-void
-DefaultResolver::visit (AST::MetaItemSeq &)
-{}
-
-void
-DefaultResolver::visit (AST::MetaListPaths &)
-{}
-
-void
-DefaultResolver::visit (AST::MetaListNameValueStr &)
-{}
-
-void
-DefaultResolver::visit (AST::AltPattern &)
-{}
-
-void
-DefaultResolver::visit (AST::EmptyStmt &)
-{}
-
-void
-DefaultResolver::visit (AST::TraitBound &)
-{}
-
-void
-DefaultResolver::visit (AST::ImplTraitType &)
-{}
-
-void
-DefaultResolver::visit (AST::TraitObjectType &)
-{}
-
-void
-DefaultResolver::visit (AST::ImplTraitTypeOneBound &)
-{}
-
-void
-DefaultResolver::visit (AST::TraitObjectTypeOneBound &)
-{}
-
-void
-DefaultResolver::visit (AST::BareFunctionType &)
-{}
-
-void
-DefaultResolver::visit (AST::SelfParam &)
-{}
-
-void
-DefaultResolver::visit (AST::FunctionParam &)
-{}
-
-void
-DefaultResolver::visit (AST::VariadicParam &)
-{}
-
 } // namespace Resolver2_0
 } // namespace Rust
diff --git a/gcc/rust/resolve/rust-default-resolver.h 
b/gcc/rust/resolve/rust-default-resolver.h
index fd1f7bec20e4..553afae77c0d 100644
--- a/gcc/rust/resolve/rust-default-resolver.h
+++ b/gcc/rust/resolve/rust-default-resolver.h
@@ -45,7 +45,7 @@ public:
   void visit (AST::BlockExpr &) override;
   void visit (AST::Module &) override;
   void visit (AST::Function &) override;
-  void visit (AST::ForLoopExpr &) override;
+  void visit (AST::ForLoopExpr &expr) override;
   void visit (AST::Trait &) override;
   void visit (AST::InherentImpl &) override;
   void visit (AST::TraitImpl &) override;
@@ -55,88 +55,21 @@ public:
   void visit (AST::Enum &) override;
 
   // Visitors that visit their expression node(s)
-  void visit (AST::StructExprFieldIdentifierValue &) override;
-  void visit (AST::StructExprFieldIndexValue &) override;
   void visit (AST::ClosureExprInner &) override;
   void visit (AST::ClosureExprInnerTyped &) override;
-  void visit (AST::ContinueExpr &) override;
-  void visit (AST::RangeFromToExpr &) override;
-  void visit (AST::RangeFromExpr &) override;
-  void visit (AST::RangeToExpr &) override;
-  void visit (AST::RangeFromToInclExpr &) override;
-  void visit (AST::RangeToInclExpr &) override;
-  void visit (AST::ReturnExpr &) override;
   void visit (AST::CallExpr &) override;
   void visit (AST::MethodCallExpr &) override;
-  void visit (AST::LoopExpr &) override;
-  void visit (AST::WhileLoopExpr &) override;
-  void visit (AST::WhileLetLoopExpr &) override;
   void visit (AST::IfExpr &) override;
   void visit (AST::IfExprConseqElse &) override;
-  void visit (AST::IfLetExpr &) override;
-  void visit (AST::IfLetExprConseqElse &) override;
   void visit (AST::MatchExpr &) override;
-  void visit (AST::AwaitExpr &) override;
-  void visit (AST::AsyncBlockExpr &) override;
 
   // Leaf visitors, which do nothing by default
-  void visit (AST::DelimTokenTree &) override;
-  void visit (AST::AttrInputMetaItemContainer &) override;
-  void visit (AST::IdentifierExpr &) override;
-  void visit (AST::LifetimeParam &) override;
-  void visit (AST::ConstGenericParam &) override;
   void visit (AST::PathInExpression &) override;
-  void visit (AST::TypePathSegmentGeneric &) override;
-  void visit (AST::TypePathSegmentFunction &) override;
-  void visit (AST::TypePath &) override;
-  void visit (AST::QualifiedPathInExpression &) override;
-  void visit (AST::QualifiedPathInType &) override;
-  void visit (AST::LiteralExpr &) override;
-  void visit (AST::AttrInputLiteral &) override;
-  void visit (AST::AttrInputMacro &) override;
-  void visit (AST::MetaItemLitExpr &) override;
-  void visit (AST::MetaItemPathLit &) override;
-  void visit (AST::StructExprStruct &) override;
-  void visit (AST::StructExprStructFields &) override;
-  void visit (AST::StructExprStructBase &) override;
-  void visit (AST::TypeParam &) override;
-  void visit (AST::LifetimeWhereClauseItem &) override;
-  void visit (AST::TypeBoundWhereClauseItem &) override;
-  void visit (AST::ExternCrate &) override;
-  void visit (AST::UseTreeGlob &) override;
-  void visit (AST::UseTreeList &) override;
-  void visit (AST::UseTreeRebind &) override;
-  void visit (AST::UseDeclaration &) override;
-  void visit (AST::TypeAlias &) override;
-  void visit (AST::EnumItem &) override;
   void visit (AST::EnumItemTuple &) override;
   void visit (AST::EnumItemStruct &) override;
   void visit (AST::EnumItemDiscriminant &) override;
   void visit (AST::ConstantItem &) override;
   void visit (AST::StaticItem &) override;
-  void visit (AST::TraitItemConst &) override;
-  void visit (AST::TraitItemType &) override;
-  void visit (AST::ExternalTypeItem &) override;
-  void visit (AST::ExternalStaticItem &) override;
-  void visit (AST::MacroMatchRepetition &) override;
-  void visit (AST::MacroMatcher &) override;
-  void visit (AST::MacroRulesDefinition &) override;
-  void visit (AST::MacroInvocation &) override;
-  void visit (AST::MetaItemPath &) override;
-  void visit (AST::MetaItemSeq &) override;
-  void visit (AST::MetaListPaths &) override;
-  void visit (AST::MetaListNameValueStr &) override;
-  void visit (AST::AltPattern &) override;
-  void visit (AST::EmptyStmt &) override;
-  void visit (AST::TraitBound &) override;
-  void visit (AST::ImplTraitType &) override;
-  void visit (AST::TraitObjectType &) override;
-  void visit (AST::ImplTraitTypeOneBound &) override;
-  void visit (AST::TraitObjectTypeOneBound &) override;
-  void visit (AST::BareFunctionType &) override;
-  void visit (AST::FunctionParam &) override;
-  void visit (AST::VariadicParam &) override;
-  void visit (AST::SelfParam &) override;
 
 protected:
   DefaultResolver (NameResolutionContext &ctx) : ctx (ctx) {}

Reply via email to