diff options
author | Philip Herron <philip.herron@embecosm.com> | 2021-11-22 17:05:18 +0000 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2021-11-22 17:31:19 +0000 |
commit | a6cae6da5130f936356a1d3cb76224f8fba66503 (patch) | |
tree | 60ff8fe756224171f5104a65b664ac16f0790e39 /gcc/rust/resolve/rust-ast-resolve.cc | |
parent | 87da9922e66d64e2ef307d33076da86b8486bea0 (diff) | |
download | gcc-a6cae6da5130f936356a1d3cb76224f8fba66503.zip gcc-a6cae6da5130f936356a1d3cb76224f8fba66503.tar.gz gcc-a6cae6da5130f936356a1d3cb76224f8fba66503.tar.bz2 |
Fix toplevel crate ribs id's
Toplevel ribs should be the same id of the Crate this allows is to scan
all toplevel ribs simply by knowing the crate number.
Diffstat (limited to 'gcc/rust/resolve/rust-ast-resolve.cc')
-rw-r--r-- | gcc/rust/resolve/rust-ast-resolve.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve.cc b/gcc/rust/resolve/rust-ast-resolve.cc index 9a0d349..66553a6 100644 --- a/gcc/rust/resolve/rust-ast-resolve.cc +++ b/gcc/rust/resolve/rust-ast-resolve.cc @@ -313,14 +313,12 @@ NameResolution::Resolve (AST::Crate &crate) void NameResolution::go (AST::Crate &crate) { - // setup parent scoping for names - resolver->get_name_scope ().push (crate.get_node_id ()); + NodeId scope_node_id = crate.get_node_id (); + resolver->get_name_scope ().push (scope_node_id); + resolver->get_type_scope ().push (scope_node_id); + resolver->get_label_scope ().push (scope_node_id); resolver->push_new_name_rib (resolver->get_name_scope ().peek ()); - // setup parent scoping for new types - resolver->get_type_scope ().push (mappings->get_next_node_id ()); resolver->push_new_type_rib (resolver->get_type_scope ().peek ()); - // setup label scope - resolver->get_label_scope ().push (mappings->get_next_node_id ()); resolver->push_new_label_rib (resolver->get_type_scope ().peek ()); // first gather the top-level namespace names then we drill down |