diff options
author | 0xn4utilus <gyanendrabanjare8@gmail.com> | 2024-02-28 19:35:30 +0530 |
---|---|---|
committer | P-E-P <32375388+P-E-P@users.noreply.github.com> | 2024-03-05 15:08:36 +0000 |
commit | 53d8e04c0b4a4834658397dc61352cf8928c6b51 (patch) | |
tree | a5255a43bf793610de7b3f9d26301187b5ecd3cb /gcc/rust/parse | |
parent | 87f797f0e827e50eb75945593d9107431f9be2ce (diff) | |
download | gcc-53d8e04c0b4a4834658397dc61352cf8928c6b51.zip gcc-53d8e04c0b4a4834658397dc61352cf8928c6b51.tar.gz gcc-53d8e04c0b4a4834658397dc61352cf8928c6b51.tar.bz2 |
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/parse')
-rw-r--r-- | gcc/rust/parse/rust-parse-impl.h | 62 | ||||
-rw-r--r-- | gcc/rust/parse/rust-parse.h | 2 |
2 files changed, 0 insertions, 64 deletions
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 26b2415..b6c2ca3 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -6034,68 +6034,6 @@ Parser<ManagedTokenSource>::parse_named_function_params ( return params; } -template <typename ManagedTokenSource> -std::unique_ptr<AST::ExternalFunctionItem> -Parser<ManagedTokenSource>::parse_external_function_item ( - AST::Visibility vis, AST::AttrVec outer_attrs) -{ - location_t locus = lexer.peek_token ()->get_locus (); - - // parse extern function declaration item - // skip function token - lexer.skip_token (); - - // parse identifier - const_TokenPtr ident_tok = expect_token (IDENTIFIER); - if (ident_tok == nullptr) - { - skip_after_semicolon (); - return nullptr; - } - Identifier ident{ident_tok}; - - // parse (optional) generic params - std::vector<std::unique_ptr<AST::GenericParam>> generic_params - = parse_generic_params_in_angles (); - - if (!skip_token (LEFT_PAREN)) - { - skip_after_semicolon (); - return nullptr; - } - - // parse parameters - std::vector<AST::NamedFunctionParam> function_params - = parse_named_function_params ( - [] (TokenId id) { return id == RIGHT_PAREN; }); - - if (!skip_token (RIGHT_PAREN)) - { - skip_after_semicolon (); - return nullptr; - } - - // parse (optional) return type - std::unique_ptr<AST::Type> return_type = parse_function_return_type (); - - // parse (optional) where clause - AST::WhereClause where_clause = parse_where_clause (); - - if (!skip_token (SEMICOLON)) - { - // skip somewhere? - return nullptr; - } - - function_params.shrink_to_fit (); - - return std::unique_ptr<AST::ExternalFunctionItem> ( - new AST::ExternalFunctionItem ( - std::move (ident), std::move (generic_params), std::move (return_type), - std::move (where_clause), std::move (function_params), std::move (vis), - std::move (outer_attrs), locus)); -} - // Parses a single extern block item (static or function declaration). template <typename ManagedTokenSource> std::unique_ptr<AST::ExternalItem> diff --git a/gcc/rust/parse/rust-parse.h b/gcc/rust/parse/rust-parse.h index cdddfa6..c00bf9c 100644 --- a/gcc/rust/parse/rust-parse.h +++ b/gcc/rust/parse/rust-parse.h @@ -310,8 +310,6 @@ private: AST::Lifetime lifetime_from_token (const_TokenPtr tok); std::unique_ptr<AST::ExternalTypeItem> parse_external_type_item (AST::Visibility vis, AST::AttrVec outer_attrs); - std::unique_ptr<AST::ExternalFunctionItem> - parse_external_function_item (AST::Visibility vis, AST::AttrVec outer_attrs); AST::NamedFunctionParam parse_named_function_param (); template <typename EndTokenPred> std::vector<AST::NamedFunctionParam> |