diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2019-11-03 21:42:03 -0500 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2019-11-09 11:10:13 -0500 |
| commit | dd6df0d20ed94b46125e7b2039205674f01c95b9 (patch) | |
| tree | 636993f487790eab872ca5670c07f264ed51dbd8 /src/librustc_interface | |
| parent | 516a817dbde4d834aeccf6fbbdf52bb2164cc20b (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.rs | 7 |
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); } |
