about summary refs log tree commit diff
path: root/src/librustc_interface
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2019-11-03 21:42:03 -0500
committerMark Rousskov <mark.simulacrum@gmail.com>2019-11-09 11:10:13 -0500
commitdd6df0d20ed94b46125e7b2039205674f01c95b9 (patch)
tree636993f487790eab872ca5670c07f264ed51dbd8 /src/librustc_interface
parent516a817dbde4d834aeccf6fbbdf52bb2164cc20b (diff)
Move pretty parsing into Session options
This allows us to query whether PpmEveryBodyLoops is set during
expansion and run the everybody loops pass.
Diffstat (limited to 'src/librustc_interface')
-rw-r--r--src/librustc_interface/passes.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs
index 048b5cff2bf..04a0b0e7619 100644
--- a/src/librustc_interface/passes.rs
+++ b/src/librustc_interface/passes.rs
@@ -16,6 +16,7 @@ use rustc::traits;
 use rustc::util::common::{time, ErrorReported};
 use rustc::session::Session;
 use rustc::session::config::{self, CrateType, Input, OutputFilenames, OutputType};
+use rustc::session::config::{PpMode, PpSourceMode};
 use rustc::session::search_paths::PathKind;
 use rustc_codegen_ssa::back::link::emit_metadata;
 use rustc_codegen_utils::codegen_backend::CodegenBackend;
@@ -394,7 +395,11 @@ fn configure_and_expand_inner<'a>(
 
     // If we're actually rustdoc then there's no need to actually compile
     // anything, so switch everything to just looping
-    if sess.opts.actually_rustdoc {
+    let mut should_loop = sess.opts.actually_rustdoc;
+    if let Some((PpMode::PpmSource(PpSourceMode::PpmEveryBodyLoops), _)) = sess.opts.pretty {
+        should_loop |= true;
+    }
+    if should_loop {
         util::ReplaceBodyWithLoop::new(&mut resolver).visit_crate(&mut krate);
     }