Skip to content

Commit 7046f1d

Browse files
committed
Add external function identifier to the resolver
External function identifiers were not added to the resolver and thus could not be resolved later. gcc/rust/ChangeLog: * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Add a visitor function override for external function identifiers. * resolve/rust-toplevel-name-resolver-2.0.h: Add function prototype. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
1 parent 13a5ad6 commit 7046f1d

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc

+8
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,14 @@ TopLevel::visit (AST::Function &function)
302302
DefaultResolver::visit (function);
303303
}
304304

305+
void
306+
TopLevel::visit (AST::ExternalFunctionItem &function)
307+
{
308+
insert_or_error_out (function.get_identifier (), function, Namespace::Values);
309+
310+
DefaultResolver::visit (function);
311+
}
312+
305313
void
306314
TopLevel::visit (AST::BlockExpr &expr)
307315
{

gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h

+1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ class TopLevel : public DefaultResolver
8787
void visit (AST::Module &module) override;
8888
void visit (AST::MacroRulesDefinition &macro) override;
8989
void visit (AST::Function &function) override;
90+
void visit (AST::ExternalFunctionItem &function) override;
9091
void visit (AST::BlockExpr &expr) override;
9192
void visit (AST::StaticItem &static_item) override;
9293
void visit (AST::TraitItemFunc &item) override;

0 commit comments

Comments
 (0)