aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/rust-session-manager.cc
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2023-08-24 17:50:45 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2024-08-01 16:52:24 +0200
commitdebb0c76ec868c3a1ae6c967be48efb202ad9071 (patch)
tree77ed6ca3507e920473b5410042e9e5a40d477cbd /gcc/rust/rust-session-manager.cc
parentd403dd2c9093703ee8910c16bb0ccb480d456704 (diff)
downloadgcc-debb0c76ec868c3a1ae6c967be48efb202ad9071.zip
gcc-debb0c76ec868c3a1ae6c967be48efb202ad9071.tar.gz
gcc-debb0c76ec868c3a1ae6c967be48efb202ad9071.tar.bz2
gccrs: session manager: Init Immutable name resolver.
gcc/rust/ChangeLog: * rust-session-manager.cc (Session::compile_crate): Create an immutable view of the name resolution context.
Diffstat (limited to 'gcc/rust/rust-session-manager.cc')
-rw-r--r--gcc/rust/rust-session-manager.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 64e0190..1c7e276 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -18,6 +18,7 @@
#include "rust-session-manager.h"
#include "rust-diagnostics.h"
+#include "rust-immutable-name-resolution-context.h"
#include "rust-unsafe-checker.h"
#include "rust-lex.h"
#include "rust-parse.h"
@@ -659,6 +660,9 @@ Session::compile_crate (const char *filename)
if (last_step == CompileOptions::CompileStep::TypeCheck)
return;
+ // name resolution is done, we now freeze the name resolver for type checking
+ Resolver2_0::ImmutableNameResolutionContext::init (name_resolution_ctx);
+
// type resolve
Resolver::TypeResolution::Resolve (hir);