]> git.ipfire.org Git - thirdparty/gcc.git/commit
gccrs: Add name resolution for on globbing use decl
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Tue, 9 Jan 2024 12:51:35 +0000 (13:51 +0100)
committerArthur Cohen <arthur.cohen@embecosm.com>
Thu, 1 Aug 2024 14:52:26 +0000 (16:52 +0200)
commit8c331e24575c0584be372a78bb0bbcca914d567c
tree18151cba46c42235bbb52555a6948c8d54d6e349
parent06ce1b34fc0f1098ed45f25d52c05a6d8586c2c7
gccrs: Add name resolution for on globbing use decl

This is the first part of the code required to enable globbing on use
declarations.

gcc/rust/ChangeLog:

* resolve/rust-toplevel-name-resolver-2.0.cc (GlobbingVisitor::visit):
Insert names into their namespace.
(TopLevel::visit): Insert ast module.
(TopLevel::handle_use_dec): Resolve use declaration.
(TopLevel::handle_use_glob): Use globbing visitor.
(flatten_list): Use globbing path vector.
(flatten_glob): Likewise.
(flatten): Likewise.
(prefix_subpaths): Add a function to prefix subpath.
* resolve/rust-toplevel-name-resolver-2.0.h (class GlobbingVisitor):
Add globbing visitor.
* util/rust-hir-map.cc (Mappings::insert_ast_module): Add function to
insert module in module hashmap.
(Mappings::lookup_ast_module): Add function to retrieve ast module.
* util/rust-hir-map.h: Add module map and getter/setter prototypes.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
gcc/rust/util/rust-hir-map.cc
gcc/rust/util/rust-hir-map.h