about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2019-11-12 08:07:35 -0500
committerMark Rousskov <mark.simulacrum@gmail.com>2019-12-03 12:18:32 -0500
commitb7cd58c00ef7dd3aa7476858d0a8aa91f50e70a9 (patch)
tree601f0bf62a0df498b37550f03e3083505ccaf5c5
parent2ea18337f7be37b5512cd81a7ac9a26f10f491f4 (diff)
downloadrust-b7cd58c00ef7dd3aa7476858d0a8aa91f50e70a9.tar.gz
rust-b7cd58c00ef7dd3aa7476858d0a8aa91f50e70a9.zip
Decouple CguReuseTracker from Session
-rw-r--r--src/librustc/dep_graph/cgu_reuse_tracker.rs7
-rw-r--r--src/librustc_codegen_ssa/back/write.rs2
2 files changed, 4 insertions, 5 deletions
diff --git a/src/librustc/dep_graph/cgu_reuse_tracker.rs b/src/librustc/dep_graph/cgu_reuse_tracker.rs
index 13f6f953329..98f0574e9c2 100644
--- a/src/librustc/dep_graph/cgu_reuse_tracker.rs
+++ b/src/librustc/dep_graph/cgu_reuse_tracker.rs
@@ -2,7 +2,6 @@
 //! compilation. This is used for incremental compilation tests and debug
 //! output.
 
-use crate::session::Session;
 use rustc_data_structures::fx::FxHashMap;
 use std::sync::{Arc, Mutex};
 use syntax_pos::Span;
@@ -94,7 +93,7 @@ impl CguReuseTracker {
         }
     }
 
-    pub fn check_expected_reuse(&self, sess: &Session) {
+    pub fn check_expected_reuse(&self, diag: &errors::Handler) {
         if let Some(ref data) = self.data {
             let data = data.lock().unwrap();
 
@@ -120,14 +119,14 @@ impl CguReuseTracker {
                                           actual_reuse,
                                           at_least,
                                           expected_reuse);
-                        sess.span_err(error_span.0, &msg);
+                        diag.span_err(error_span.0, &msg);
                     }
                 } else {
                     let msg = format!("CGU-reuse for `{}` (mangled: `{}`) was \
                                        not recorded",
                                        cgu_user_name,
                                        cgu_name);
-                    sess.span_fatal(error_span.0, &msg);
+                    diag.span_fatal(error_span.0, &msg).raise();
                 }
             }
         }
diff --git a/src/librustc_codegen_ssa/back/write.rs b/src/librustc_codegen_ssa/back/write.rs
index 863b41ec15e..7d9ceb0699b 100644
--- a/src/librustc_codegen_ssa/back/write.rs
+++ b/src/librustc_codegen_ssa/back/write.rs
@@ -1752,7 +1752,7 @@ impl<B: ExtraBackendMethods> OngoingCodegen<B> {
             }
         };
 
-        sess.cgu_reuse_tracker.check_expected_reuse(sess);
+        sess.cgu_reuse_tracker.check_expected_reuse(sess.diagnostic());
 
         sess.abort_if_errors();