From: Owen Avery <[email protected]>

gcc/rust/ChangeLog:

        * rust-session-manager.cc: Remove inclusion of name resolution
        1.0 headers.
        (Session::compile_crate): Assume name resolution 2.0 is enabled.
        (Session::expansion): Likewise.
        (Session::load_extern_crate): Likewise.

Signed-off-by: Owen Avery <[email protected]>
---
 gcc/rust/rust-session-manager.cc | 33 ++++++--------------------------
 1 file changed, 6 insertions(+), 27 deletions(-)

diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 363feee18e9..386aa65b966 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -29,7 +29,6 @@
 #include "rust-lex.h"
 #include "rust-parse.h"
 #include "rust-macro-expand.h"
-#include "rust-ast-resolve.h"
 #include "rust-ast-lower.h"
 #include "rust-hir-type-check.h"
 #include "rust-privacy-check.h"
@@ -46,7 +45,6 @@
 #include "rust-imports.h"
 #include "rust-extern-crate.h"
 #include "rust-attributes.h"
-#include "rust-early-name-resolver.h"
 #include "rust-name-resolution-context.h"
 #include "rust-early-name-resolver-2.0.h"
 #include "rust-late-name-resolver-2.0.h"
@@ -643,10 +641,7 @@ Session::compile_crate (const char *filename)
     return;
 
   // resolution pipeline stage
-  if (flag_name_resolution_2_0)
-    Resolver2_0::Late (name_resolution_ctx).go (parsed_crate);
-  else
-    Resolver::NameResolution::Resolve (parsed_crate);
+  Resolver2_0::Late (name_resolution_ctx).go (parsed_crate);
 
   if (options.dump_option_enabled (CompileOptions::RESOLUTION_DUMP))
     dump_name_resolution (name_resolution_ctx);
@@ -943,24 +938,17 @@ Session::expansion (AST::Crate &crate, 
Resolver2_0::NameResolutionContext &ctx)
     {
       CfgStrip (cfg).go (crate);
       // Errors might happen during cfg strip pass
-      bool visitor_dirty = false;
 
-      if (flag_name_resolution_2_0)
-       {
-         Resolver2_0::Early early (ctx);
-         early.go (crate);
-         macro_errors = early.get_macro_resolve_errors ();
-         visitor_dirty = early.is_dirty ();
-       }
-      else
-       Resolver::EarlyNameResolver ().go (crate);
+      Resolver2_0::Early early (ctx);
+      early.go (crate);
+      macro_errors = early.get_macro_resolve_errors ();
 
       if (saw_errors ())
        break;
 
       ExpandVisitor (expander).go (crate);
 
-      fixed_point_reached = !expander.has_changed () && !visitor_dirty;
+      fixed_point_reached = !expander.has_changed () && !early.is_dirty ();
       expander.reset_changed_state ();
       iterations++;
 
@@ -995,8 +983,7 @@ Session::expansion (AST::Crate &crate, 
Resolver2_0::NameResolutionContext &ctx)
       // HACK: we may need a final TopLevel pass
       // however, this should not count towards the recursion limit
       // and we don't need a full Early pass
-      if (flag_name_resolution_2_0)
-       Resolver2_0::TopLevel (ctx).go (crate);
+      Resolver2_0::TopLevel (ctx).go (crate);
     }
 
   // error reporting - check unused macros, get missing fragment specifiers
@@ -1192,14 +1179,6 @@ Session::load_extern_crate (const std::string 
&crate_name, location_t locus)
   mappings.insert_bang_proc_macros (crate_num, bang_macros);
   mappings.insert_derive_proc_macros (crate_num, derive_macros);
 
-  // if flag_name_resolution_2_0 is enabled
-  // then we perform resolution later
-  if (!flag_name_resolution_2_0)
-    {
-      // name resolve it
-      Resolver::NameResolution::Resolve (parsed_crate);
-    }
-
   // always restore the crate_num
   mappings.set_current_crate (saved_crate_num);
 
-- 
2.50.1

Reply via email to