about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-04-09 00:16:57 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-04-09 00:16:57 +0000
commit5eb775eedd64d3b3abab63a8ef39ca9664f4cad0 (patch)
treef751798d7fbb8c80a9375797b33dcc5745bd1d71
parent417a6df9b0764ff086d71fff9808a31715e9cd0d (diff)
downloadrust-5eb775eedd64d3b3abab63a8ef39ca9664f4cad0.tar.gz
rust-5eb775eedd64d3b3abab63a8ef39ca9664f4cad0.zip
Remove redundant gated feature checking pass
-rw-r--r--src/librustc_driver/driver.rs19
1 files changed, 2 insertions, 17 deletions
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs
index b6e7080f16c..fa7ffec5a6a 100644
--- a/src/librustc_driver/driver.rs
+++ b/src/librustc_driver/driver.rs
@@ -647,19 +647,6 @@ pub fn phase_2_configure_and_expand(sess: &Session,
         krate
     })?;
 
-    // Needs to go *after* expansion to be able to check the results
-    // of macro expansion.
-    time(time_passes, "complete gated feature checking 1", || {
-        sess.track_errors(|| {
-            let features = syntax::feature_gate::check_crate(sess.codemap(),
-                                                             &sess.parse_sess.span_diagnostic,
-                                                             &krate,
-                                                             &attributes,
-                                                             sess.opts.unstable_features);
-            *sess.features.borrow_mut() = features;
-        })
-    })?;
-
     krate = time(time_passes, "maybe building test harness", || {
         syntax::test::modify_for_testing(&sess.parse_sess, &sess.opts.cfg, krate, sess.diagnostic())
     });
@@ -676,10 +663,8 @@ pub fn phase_2_configure_and_expand(sess: &Session,
          "checking for inline asm in case the target doesn't support it",
          || no_asm::check_crate(sess, &krate));
 
-    // One final feature gating of the true AST that gets compiled
-    // later, to make sure we've got everything (e.g. configuration
-    // can insert new attributes via `cfg_attr`)
-    time(time_passes, "complete gated feature checking 2", || {
+    // Needs to go *after* expansion to be able to check the results of macro expansion.
+    time(time_passes, "complete gated feature checking", || {
         sess.track_errors(|| {
             let features = syntax::feature_gate::check_crate(sess.codemap(),
                                                              &sess.parse_sess.span_diagnostic,