aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/ast
diff options
context:
space:
mode:
author0xn4utilus <gyanendrabanjare8@gmail.com>2024-02-28 19:35:30 +0530
committerArthur Cohen <arthur.cohen@embecosm.com>2024-08-01 13:12:15 +0200
commitb2a6d975722e778e3ea0c58b1ad78fbe001d849b (patch)
tree3533a7f24637a4389528ee52ec69954e3d4c1770 /gcc/rust/ast
parent293ac1ba6157c060bc053288b7ed0ae03622fe07 (diff)
downloadgcc-b2a6d975722e778e3ea0c58b1ad78fbe001d849b.zip
gcc-b2a6d975722e778e3ea0c58b1ad78fbe001d849b.tar.gz
gcc-b2a6d975722e778e3ea0c58b1ad78fbe001d849b.tar.bz2
gccrs: Remove dead code associated with `AST::ExternalFunctionItem`
gcc/rust/ChangeLog: * ast/rust-ast-collector.cc (TokenCollector::visit): Remove dead code. * ast/rust-ast-collector.h: Likewise. * ast/rust-ast-full-decls.h (class ExternalFunctionItem): Likewise. * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Likewise. * ast/rust-ast-visitor.h: Likewise. * ast/rust-ast.cc (ExternalFunctionItem::as_string): Likewise. (ExternalFunctionItem::accept_vis): Likewise. * checks/errors/rust-ast-validation.cc (ASTValidation::visit): Likewise. * checks/errors/rust-ast-validation.h: Likewise. * checks/errors/rust-feature-gate.h: Likewise. * expand/rust-cfg-strip.cc (CfgStrip::visit): Likewise. * expand/rust-cfg-strip.h: Likewise. * expand/rust-derive.h: Likewise. * expand/rust-expand-visitor.cc (ExpandVisitor::visit): Likewise. * expand/rust-expand-visitor.h: Likewise. * hir/rust-ast-lower-base.cc (ASTLoweringBase::visit): Likewise. * hir/rust-ast-lower-base.h: Likewise. * metadata/rust-export-metadata.cc (ExportContext::emit_function): Likewise. * parse/rust-parse-impl.h: Likewise. * parse/rust-parse.h: Likewise. * resolve/rust-ast-resolve-base.cc (ResolverBase::visit): Likewise. * resolve/rust-ast-resolve-base.h: Likewise. * resolve/rust-default-resolver.cc (DefaultResolver::visit): Likewise. * resolve/rust-default-resolver.h: Likewise. * util/rust-attributes.cc (AttributeChecker::visit): Likewise. * util/rust-attributes.h: Likewise. gcc/testsuite/ChangeLog: * rust/compile/extern_func_with_body.rs: New test. Signed-off-by: 0xn4utilus <gyanendrabanjare8@gmail.com>
Diffstat (limited to 'gcc/rust/ast')
-rw-r--r--gcc/rust/ast/rust-ast-collector.cc25
-rw-r--r--gcc/rust/ast/rust-ast-collector.h1
-rw-r--r--gcc/rust/ast/rust-ast-full-decls.h1
-rw-r--r--gcc/rust/ast/rust-ast-visitor.cc18
-rw-r--r--gcc/rust/ast/rust-ast-visitor.h2
-rw-r--r--gcc/rust/ast/rust-ast.cc69
6 files changed, 0 insertions, 116 deletions
diff --git a/gcc/rust/ast/rust-ast-collector.cc b/gcc/rust/ast/rust-ast-collector.cc
index 744d0eb..eb03dcc 100644
--- a/gcc/rust/ast/rust-ast-collector.cc
+++ b/gcc/rust/ast/rust-ast-collector.cc
@@ -2085,31 +2085,6 @@ TokenCollector::visit (ExternalStaticItem &item)
}
void
-TokenCollector::visit (ExternalFunctionItem &function)
-{
- visit_items_as_lines (function.get_outer_attrs ());
- visit (function.get_visibility ());
-
- auto id = function.get_identifier ().as_string ();
-
- push (Rust::Token::make (FN_KW, function.get_locus ()));
- push (Rust::Token::make_identifier (UNDEF_LOCATION, std::move (id)));
- if (function.has_generics ())
- visit (function.get_generic_params ());
- push (Rust::Token::make (LEFT_PAREN, UNDEF_LOCATION));
-
- visit_items_joined_by_separator (function.get_function_params ());
-
- push (Rust::Token::make (RIGHT_PAREN, UNDEF_LOCATION));
- if (function.has_return_type ())
- {
- push (Rust::Token::make (RETURN_TYPE, UNDEF_LOCATION));
- visit (function.get_return_type ());
- }
- push (Rust::Token::make (SEMICOLON, UNDEF_LOCATION));
-}
-
-void
TokenCollector::visit (ExternBlock &block)
{
visit_items_as_lines (block.get_outer_attrs ());
diff --git a/gcc/rust/ast/rust-ast-collector.h b/gcc/rust/ast/rust-ast-collector.h
index ec695ef..fdc99bb 100644
--- a/gcc/rust/ast/rust-ast-collector.h
+++ b/gcc/rust/ast/rust-ast-collector.h
@@ -333,7 +333,6 @@ public:
void visit (TraitImpl &impl);
void visit (ExternalTypeItem &item);
void visit (ExternalStaticItem &item);
- void visit (ExternalFunctionItem &item);
void visit (ExternBlock &block);
// rust-macro.h
diff --git a/gcc/rust/ast/rust-ast-full-decls.h b/gcc/rust/ast/rust-ast-full-decls.h
index 8d5c8db..dd982c4 100644
--- a/gcc/rust/ast/rust-ast-full-decls.h
+++ b/gcc/rust/ast/rust-ast-full-decls.h
@@ -203,7 +203,6 @@ class ExternalItem;
class ExternalTypeItem;
class ExternalStaticItem;
class NamedFunctionParam;
-class ExternalFunctionItem;
class ExternBlock;
// rust-macro.h
diff --git a/gcc/rust/ast/rust-ast-visitor.cc b/gcc/rust/ast/rust-ast-visitor.cc
index 697c272..de4242a 100644
--- a/gcc/rust/ast/rust-ast-visitor.cc
+++ b/gcc/rust/ast/rust-ast-visitor.cc
@@ -1005,24 +1005,6 @@ DefaultASTVisitor::visit (AST::NamedFunctionParam &param)
}
void
-DefaultASTVisitor::visit (AST::ExternalFunctionItem &item)
-{
- visit_outer_attrs (item);
- visit (item.get_visibility ());
- for (auto &generic : item.get_generic_params ())
- visit (generic);
-
- if (item.has_where_clause ())
- visit (item.get_where_clause ());
-
- for (auto &param : item.get_function_params ())
- visit (param);
-
- if (item.has_return_type ())
- visit (item.get_return_type ());
-}
-
-void
DefaultASTVisitor::visit (AST::ExternBlock &block)
{
visit_outer_attrs (block);
diff --git a/gcc/rust/ast/rust-ast-visitor.h b/gcc/rust/ast/rust-ast-visitor.h
index c5c9a02..622e7f7 100644
--- a/gcc/rust/ast/rust-ast-visitor.h
+++ b/gcc/rust/ast/rust-ast-visitor.h
@@ -164,7 +164,6 @@ public:
// virtual void visit(ExternalItem& item) = 0;
virtual void visit (ExternalTypeItem &type) = 0;
virtual void visit (ExternalStaticItem &item) = 0;
- virtual void visit (ExternalFunctionItem &item) = 0;
virtual void visit (ExternBlock &block) = 0;
// rust-macro.h
@@ -338,7 +337,6 @@ protected:
virtual void visit (AST::TraitImpl &impl) override;
virtual void visit (AST::ExternalTypeItem &item) override;
virtual void visit (AST::ExternalStaticItem &item) override;
- virtual void visit (AST::ExternalFunctionItem &item) override;
virtual void visit (AST::ExternBlock &block) override;
virtual void visit (AST::MacroMatchFragment &match) override;
virtual void visit (AST::MacroMatchRepetition &match) override;
diff --git a/gcc/rust/ast/rust-ast.cc b/gcc/rust/ast/rust-ast.cc
index 5d66198..6eb3394 100644
--- a/gcc/rust/ast/rust-ast.cc
+++ b/gcc/rust/ast/rust-ast.cc
@@ -2975,69 +2975,6 @@ ExternalStaticItem::as_string () const
}
std::string
-ExternalFunctionItem::as_string () const
-{
- // outer attributes
- std::string str = append_attributes (outer_attrs, OUTER);
-
- // start visibility on new line and with a space
- str += "\n" + visibility.as_string () + " ";
-
- str += "fn ";
-
- // add name
- str += item_name.as_string ();
-
- // generic params
- str += "\n Generic params: ";
- if (generic_params.empty ())
- {
- str += "none";
- }
- else
- {
- for (const auto &param : generic_params)
- {
- // DEBUG: null pointer check
- if (param == nullptr)
- {
- rust_debug (
- "something really terrible has gone wrong - null pointer "
- "generic param in external function item.");
- return "NULL_POINTER_MARK";
- }
-
- str += "\n " + param->as_string ();
- }
- }
-
- // function params
- str += "\n Function params: ";
- if (function_params.empty ())
- {
- str += "none";
- }
- else
- {
- for (const auto &param : function_params)
- str += "\n " + param.as_string ();
- }
-
- // add type on new line
- str += "\n (return) Type: "
- + (has_return_type () ? return_type->as_string () : "()");
-
- // where clause
- str += "\n Where clause: ";
- if (has_where_clause ())
- str += where_clause.as_string ();
- else
- str += "none";
-
- return str;
-}
-
-std::string
NamedFunctionParam::as_string () const
{
std::string str = append_attributes (outer_attrs, OUTER);
@@ -4867,12 +4804,6 @@ ExternalStaticItem::accept_vis (ASTVisitor &vis)
}
void
-ExternalFunctionItem::accept_vis (ASTVisitor &vis)
-{
- vis.visit (*this);
-}
-
-void
ExternBlock::accept_vis (ASTVisitor &vis)
{
vis.visit (*this);