about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/librustc/session/mod.rs8
-rw-r--r--src/librustc_interface/interface.rs3
-rw-r--r--src/librustc_interface/tests.rs3
-rw-r--r--src/librustc_interface/util.rs2
-rw-r--r--src/librustc_parse/parser/module.rs1
-rw-r--r--src/librustdoc/html/highlight.rs3
-rw-r--r--src/librustdoc/passes/check_code_block_syntax.rs3
-rw-r--r--src/librustdoc/test.rs3
-rw-r--r--src/libsyntax/sess.rs24
-rw-r--r--src/libsyntax_expand/parse/lexer/tests.rs3
-rw-r--r--src/libsyntax_expand/parse/tests.rs3
-rw-r--r--src/libsyntax_expand/tests.rs5
-rw-r--r--src/test/ui-fulldeps/ast_stmt_expr_attr.rs3
-rw-r--r--src/test/ui-fulldeps/mod_dir_path_canonicalized.rs3
-rw-r--r--src/test/ui-fulldeps/pprust-expr-roundtrip.rs3
15 files changed, 17 insertions, 53 deletions
diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs
index 1af20188ab5..af6522df61e 100644
--- a/src/librustc/session/mod.rs
+++ b/src/librustc/session/mod.rs
@@ -24,7 +24,7 @@ use syntax::edition::Edition;
 use syntax::feature_gate;
 use errors::json::JsonEmitter;
 use syntax::source_map;
-use syntax::sess::{ParseSess, ProcessCfgMod};
+use syntax::sess::ParseSess;
 use syntax_pos::{MultiSpan, Span};
 
 use rustc_target::spec::{PanicStrategy, RelroLevel, Target, TargetTriple};
@@ -925,7 +925,6 @@ pub fn build_session(
     sopts: config::Options,
     local_crate_source_file: Option<PathBuf>,
     registry: errors::registry::Registry,
-    process_cfg_mod: ProcessCfgMod,
 ) -> Session {
     let file_path_mapping = sopts.file_path_mapping();
 
@@ -936,7 +935,6 @@ pub fn build_session(
         Lrc::new(source_map::SourceMap::new(file_path_mapping)),
         DiagnosticOutput::Default,
         Default::default(),
-        process_cfg_mod,
     )
 }
 
@@ -1015,7 +1013,6 @@ pub fn build_session_with_source_map(
     source_map: Lrc<source_map::SourceMap>,
     diagnostics_output: DiagnosticOutput,
     lint_caps: FxHashMap<lint::LintId, lint::Level>,
-    process_cfg_mod: ProcessCfgMod,
 ) -> Session {
     // FIXME: This is not general enough to make the warning lint completely override
     // normal diagnostic warnings, since the warning lint can also be denied and changed
@@ -1061,7 +1058,6 @@ pub fn build_session_with_source_map(
         diagnostic_handler,
         source_map,
         lint_caps,
-        process_cfg_mod,
     )
 }
 
@@ -1071,7 +1067,6 @@ fn build_session_(
     span_diagnostic: errors::Handler,
     source_map: Lrc<source_map::SourceMap>,
     driver_lint_caps: FxHashMap<lint::LintId, lint::Level>,
-    process_cfg_mod: ProcessCfgMod,
 ) -> Session {
     let self_profiler =
         if let SwitchWithOptPath::Enabled(ref d) = sopts.debugging_opts.self_profile {
@@ -1109,7 +1104,6 @@ fn build_session_(
     let parse_sess = ParseSess::with_span_handler(
         span_diagnostic,
         source_map,
-        process_cfg_mod,
     );
     let sysroot = match &sopts.maybe_sysroot {
         Some(sysroot) => sysroot.clone(),
diff --git a/src/librustc_interface/interface.rs b/src/librustc_interface/interface.rs
index c153de7103a..70ed4aad7b4 100644
--- a/src/librustc_interface/interface.rs
+++ b/src/librustc_interface/interface.rs
@@ -21,7 +21,6 @@ use syntax::ast::{self, MetaItemKind};
 use syntax::token;
 use syntax::source_map::{FileName, FileLoader, SourceMap};
 use syntax::sess::ParseSess;
-use syntax_expand::config::process_configure_mod;
 use syntax_pos::edition;
 
 pub type Result<T> = result::Result<T, ErrorReported>;
@@ -69,7 +68,7 @@ impl Compiler {
 pub fn parse_cfgspecs(cfgspecs: Vec<String>) -> FxHashSet<(String, Option<String>)> {
     syntax::with_default_globals(move || {
         let cfg = cfgspecs.into_iter().map(|s| {
-            let sess = ParseSess::with_silent_emitter(process_configure_mod);
+            let sess = ParseSess::with_silent_emitter();
             let filename = FileName::cfg_spec_source_code(&s);
             let mut parser = new_parser_from_source_str(&sess, filename, s.to_string());
 
diff --git a/src/librustc_interface/tests.rs b/src/librustc_interface/tests.rs
index 8c1dac21576..d39a5d3a073 100644
--- a/src/librustc_interface/tests.rs
+++ b/src/librustc_interface/tests.rs
@@ -17,7 +17,6 @@ use rustc_target::spec::{MergeFunctions, PanicStrategy, RelroLevel};
 use syntax::symbol::sym;
 use syntax::edition::{Edition, DEFAULT_EDITION};
 use syntax;
-use syntax_expand::config::process_configure_mod;
 use rustc_data_structures::fx::FxHashSet;
 use rustc_errors::{ColorConfig, emitter::HumanReadableErrorType, registry};
 
@@ -32,7 +31,7 @@ fn build_session_options_and_crate_config(matches: getopts::Matches) -> (Options
 fn mk_session(matches: getopts::Matches) -> (Session, CfgSpecs) {
     let registry = registry::Registry::new(&[]);
     let (sessopts, cfg) = build_session_options_and_crate_config(matches);
-    let sess = build_session(sessopts, None, registry, process_configure_mod);
+    let sess = build_session(sessopts, None, registry);
     (sess, cfg)
 }
 
diff --git a/src/librustc_interface/util.rs b/src/librustc_interface/util.rs
index 2b4320c04e6..d8e20e17ce8 100644
--- a/src/librustc_interface/util.rs
+++ b/src/librustc_interface/util.rs
@@ -31,7 +31,6 @@ use syntax::util::lev_distance::find_best_match_for_name;
 use syntax::source_map::{FileLoader, RealFileLoader, SourceMap};
 use syntax::symbol::{Symbol, sym};
 use syntax::{self, ast, attr};
-use syntax_expand::config::process_configure_mod;
 use syntax_pos::edition::Edition;
 #[cfg(not(parallel_compiler))]
 use std::{thread, panic};
@@ -81,7 +80,6 @@ pub fn create_session(
         source_map.clone(),
         diagnostic_output,
         lint_caps,
-        process_configure_mod,
     );
 
     sess.prof.register_queries(|profiler| {
diff --git a/src/librustc_parse/parser/module.rs b/src/librustc_parse/parser/module.rs
index 1621c9ffc02..59d7c2b4239 100644
--- a/src/librustc_parse/parser/module.rs
+++ b/src/librustc_parse/parser/module.rs
@@ -40,7 +40,6 @@ impl<'a> Parser<'a> {
 
     /// Parses a `mod <foo> { ... }` or `mod <foo>;` item.
     pub(super) fn parse_item_mod(&mut self, outer_attrs: &[Attribute]) -> PResult<'a, ItemInfo> {
-        // HACK(Centril): See documentation on `ParseSess::process_cfg_mod`.
         let (in_cfg, outer_attrs) = crate::config::process_configure_mod(
             self.sess,
             self.cfg_mods,
diff --git a/src/librustdoc/html/highlight.rs b/src/librustdoc/html/highlight.rs
index bf4a1440e1b..bfc82ad6e8b 100644
--- a/src/librustdoc/html/highlight.rs
+++ b/src/librustdoc/html/highlight.rs
@@ -16,7 +16,6 @@ use syntax::token::{self, Token};
 use syntax::sess::ParseSess;
 use syntax::source_map::SourceMap;
 use syntax::symbol::{kw, sym};
-use syntax_expand::config::process_configure_mod;
 use syntax_pos::{Span, FileName};
 
 /// Highlights `src`, returning the HTML output.
@@ -34,7 +33,7 @@ pub fn render_with_highlighting(
                class, tooltip).unwrap();
     }
 
-    let sess = ParseSess::with_silent_emitter(process_configure_mod);
+    let sess = ParseSess::with_silent_emitter();
     let fm = sess.source_map().new_source_file(
         FileName::Custom(String::from("rustdoc-highlighting")),
         src.to_owned(),
diff --git a/src/librustdoc/passes/check_code_block_syntax.rs b/src/librustdoc/passes/check_code_block_syntax.rs
index 5c4c975cec0..8d5463ddbd7 100644
--- a/src/librustdoc/passes/check_code_block_syntax.rs
+++ b/src/librustdoc/passes/check_code_block_syntax.rs
@@ -3,7 +3,6 @@ use rustc_parse::lexer::{StringReader as Lexer};
 use syntax::token;
 use syntax::sess::ParseSess;
 use syntax::source_map::FilePathMapping;
-use syntax_expand::config::process_configure_mod;
 use syntax_pos::{InnerSpan, FileName};
 
 use crate::clean;
@@ -28,7 +27,7 @@ struct SyntaxChecker<'a, 'tcx> {
 
 impl<'a, 'tcx> SyntaxChecker<'a, 'tcx> {
     fn check_rust_syntax(&self, item: &clean::Item, dox: &str, code_block: RustCodeBlock) {
-        let sess = ParseSess::new(FilePathMapping::empty(), process_configure_mod);
+        let sess = ParseSess::new(FilePathMapping::empty());
         let source_file = sess.source_map().new_source_file(
             FileName::Custom(String::from("doctest")),
             dox[code_block.code].to_owned(),
diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs
index 98e18d666f1..22f209b8bad 100644
--- a/src/librustdoc/test.rs
+++ b/src/librustdoc/test.rs
@@ -17,7 +17,6 @@ use std::path::PathBuf;
 use std::process::{self, Command, Stdio};
 use std::str;
 use syntax::symbol::sym;
-use syntax_expand::config::process_configure_mod;
 use syntax_pos::{BytePos, DUMMY_SP, Pos, Span, FileName};
 use tempfile::Builder as TempFileBuilder;
 use testing;
@@ -415,7 +414,7 @@ pub fn make_test(s: &str,
         let emitter = EmitterWriter::new(box io::sink(), None, false, false, false, None, false);
         // FIXME(misdreavus): pass `-Z treat-err-as-bug` to the doctest parser
         let handler = Handler::with_emitter(false, None, box emitter);
-        let sess = ParseSess::with_span_handler(handler, cm, process_configure_mod);
+        let sess = ParseSess::with_span_handler(handler, cm);
 
         let mut found_main = false;
         let mut found_extern_crate = cratename.is_none();
diff --git a/src/libsyntax/sess.rs b/src/libsyntax/sess.rs
index 953f0d1d190..740e9dfe459 100644
--- a/src/libsyntax/sess.rs
+++ b/src/libsyntax/sess.rs
@@ -1,7 +1,7 @@
 //! Contains `ParseSess` which holds state living beyond what one `Parser` might.
 //! It also serves as an input to the parser itself.
 
-use crate::ast::{CrateConfig, NodeId, Attribute};
+use crate::ast::{CrateConfig, NodeId};
 use crate::early_buffered_lints::{BufferedEarlyLint, BufferedEarlyLintId};
 use crate::source_map::{SourceMap, FilePathMapping};
 use crate::feature_gate::UnstableFeatures;
@@ -89,22 +89,10 @@ pub struct ParseSess {
     pub gated_spans: GatedSpans,
     /// The parser has reached `Eof` due to an unclosed brace. Used to silence unnecessary errors.
     pub reached_eof: Lock<bool>,
-    /// Process the potential `cfg` attributes on a module.
-    /// Also determine if the module should be included in this configuration.
-    ///
-    /// HACK(Centril): This is used to break a cyclic dependency between
-    /// the parser and cfg-stripping as defined in `syntax_expand::config`.
-    /// The dependency edge from the parser comes from `parse_item_mod`.
-    /// A principled solution to this hack would be to implement [#64197].
-    ///
-    /// [#64197]: https://github.com/rust-lang/rust/issues/64197
-    pub process_cfg_mod: ProcessCfgMod,
 }
 
-pub type ProcessCfgMod = fn(&ParseSess, bool, &[Attribute]) -> (bool, Vec<Attribute>);
-
 impl ParseSess {
-    pub fn new(file_path_mapping: FilePathMapping, process_cfg_mod: ProcessCfgMod) -> Self {
+    pub fn new(file_path_mapping: FilePathMapping) -> Self {
         let cm = Lrc::new(SourceMap::new(file_path_mapping));
         let handler = Handler::with_tty_emitter(
             ColorConfig::Auto,
@@ -112,17 +100,15 @@ impl ParseSess {
             None,
             Some(cm.clone()),
         );
-        ParseSess::with_span_handler(handler, cm, process_cfg_mod)
+        ParseSess::with_span_handler(handler, cm)
     }
 
     pub fn with_span_handler(
         handler: Handler,
         source_map: Lrc<SourceMap>,
-        process_cfg_mod: ProcessCfgMod,
     ) -> Self {
         Self {
             span_diagnostic: handler,
-            process_cfg_mod,
             unstable_features: UnstableFeatures::from_environment(),
             config: FxHashSet::default(),
             edition: ExpnId::root().expn_data().edition,
@@ -138,10 +124,10 @@ impl ParseSess {
         }
     }
 
-    pub fn with_silent_emitter(process_cfg_mod: ProcessCfgMod) -> Self {
+    pub fn with_silent_emitter() -> Self {
         let cm = Lrc::new(SourceMap::new(FilePathMapping::empty()));
         let handler = Handler::with_emitter(false, None, Box::new(SilentEmitter));
-        ParseSess::with_span_handler(handler, cm, process_cfg_mod)
+        ParseSess::with_span_handler(handler, cm)
     }
 
     #[inline]
diff --git a/src/libsyntax_expand/parse/lexer/tests.rs b/src/libsyntax_expand/parse/lexer/tests.rs
index d8a1c359c95..75e4ee805b2 100644
--- a/src/libsyntax_expand/parse/lexer/tests.rs
+++ b/src/libsyntax_expand/parse/lexer/tests.rs
@@ -1,5 +1,3 @@
-use crate::config::process_configure_mod;
-
 use rustc_data_structures::sync::Lrc;
 use rustc_parse::lexer::StringReader;
 use syntax::token::{self, Token, TokenKind};
@@ -27,7 +25,6 @@ fn mk_sess(sm: Lrc<SourceMap>) -> ParseSess {
     ParseSess::with_span_handler(
         Handler::with_emitter(true, None, Box::new(emitter)),
         sm,
-        process_configure_mod,
     )
 }
 
diff --git a/src/libsyntax_expand/parse/tests.rs b/src/libsyntax_expand/parse/tests.rs
index 60911617995..08950ddefba 100644
--- a/src/libsyntax_expand/parse/tests.rs
+++ b/src/libsyntax_expand/parse/tests.rs
@@ -1,4 +1,3 @@
-use crate::config::process_configure_mod;
 use crate::tests::{matches_codepattern, string_to_stream, with_error_checking_parse};
 
 use rustc_parse::new_parser_from_source_str;
@@ -19,7 +18,7 @@ use errors::PResult;
 use std::path::PathBuf;
 
 fn sess() -> ParseSess {
-    ParseSess::new(FilePathMapping::empty(), process_configure_mod)
+    ParseSess::new(FilePathMapping::empty())
 }
 
 /// Parses an item.
diff --git a/src/libsyntax_expand/tests.rs b/src/libsyntax_expand/tests.rs
index 2683620e845..425eb305845 100644
--- a/src/libsyntax_expand/tests.rs
+++ b/src/libsyntax_expand/tests.rs
@@ -1,4 +1,3 @@
-use crate::config::process_configure_mod;
 use rustc_parse::{source_file_to_stream, new_parser_from_source_str, parser::Parser};
 use syntax::ast;
 use syntax::tokenstream::TokenStream;
@@ -34,7 +33,7 @@ crate fn with_error_checking_parse<'a, T, F>(s: String, ps: &'a ParseSess, f: F)
 
 /// Maps a string to tts, using a made-up filename.
 crate fn string_to_stream(source_str: String) -> TokenStream {
-    let ps = ParseSess::new(FilePathMapping::empty(), process_configure_mod);
+    let ps = ParseSess::new(FilePathMapping::empty());
     source_file_to_stream(
         &ps,
         ps.source_map().new_source_file(PathBuf::from("bogofile").into(),
@@ -44,7 +43,7 @@ crate fn string_to_stream(source_str: String) -> TokenStream {
 
 /// Parses a string, returns a crate.
 crate fn string_to_crate(source_str : String) -> ast::Crate {
-    let ps = ParseSess::new(FilePathMapping::empty(), process_configure_mod);
+    let ps = ParseSess::new(FilePathMapping::empty());
     with_error_checking_parse(source_str, &ps, |p| {
         p.parse_crate_mod()
     })
diff --git a/src/test/ui-fulldeps/ast_stmt_expr_attr.rs b/src/test/ui-fulldeps/ast_stmt_expr_attr.rs
index 0bf17302b06..d6d49df63ef 100644
--- a/src/test/ui-fulldeps/ast_stmt_expr_attr.rs
+++ b/src/test/ui-fulldeps/ast_stmt_expr_attr.rs
@@ -22,7 +22,6 @@ use syntax::source_map::{FilePathMapping, FileName};
 use syntax::ptr::P;
 use syntax::print::pprust;
 use syntax::token;
-use syntax_expand::config::process_configure_mod;
 use std::fmt;
 
 // Copied out of syntax::util::parser_testing
@@ -75,7 +74,7 @@ fn str_compare<T, F: Fn(&T) -> String>(e: &str, expected: &[T], actual: &[T], f:
 }
 
 fn sess() -> ParseSess {
-    ParseSess::new(FilePathMapping::empty(), process_configure_mod)
+    ParseSess::new(FilePathMapping::empty())
 }
 
 fn check_expr_attrs(es: &str, expected: &[&str]) {
diff --git a/src/test/ui-fulldeps/mod_dir_path_canonicalized.rs b/src/test/ui-fulldeps/mod_dir_path_canonicalized.rs
index 2411b9634c3..cf675831cfe 100644
--- a/src/test/ui-fulldeps/mod_dir_path_canonicalized.rs
+++ b/src/test/ui-fulldeps/mod_dir_path_canonicalized.rs
@@ -12,7 +12,6 @@ use rustc_parse::new_parser_from_file;
 use std::path::Path;
 use syntax::sess::ParseSess;
 use syntax::source_map::FilePathMapping;
-use syntax_expand::config::process_configure_mod;
 
 #[path = "mod_dir_simple/test.rs"]
 mod gravy;
@@ -24,7 +23,7 @@ pub fn main() {
 }
 
 fn parse() {
-    let parse_session = ParseSess::new(FilePathMapping::empty(), process_configure_mod);
+    let parse_session = ParseSess::new(FilePathMapping::empty());
 
     let path = Path::new(file!());
     let path = path.canonicalize().unwrap();
diff --git a/src/test/ui-fulldeps/pprust-expr-roundtrip.rs b/src/test/ui-fulldeps/pprust-expr-roundtrip.rs
index 5da0297f645..290562046e2 100644
--- a/src/test/ui-fulldeps/pprust-expr-roundtrip.rs
+++ b/src/test/ui-fulldeps/pprust-expr-roundtrip.rs
@@ -33,7 +33,6 @@ use syntax::source_map::FilePathMapping;
 use syntax::mut_visit::{self, MutVisitor, visit_clobber};
 use syntax::print::pprust;
 use syntax::ptr::P;
-use syntax_expand::config::process_configure_mod;
 
 fn parse_expr(ps: &ParseSess, src: &str) -> Option<P<Expr>> {
     let src_as_string = src.to_string();
@@ -205,7 +204,7 @@ fn main() {
 }
 
 fn run() {
-    let ps = ParseSess::new(FilePathMapping::empty(), process_configure_mod);
+    let ps = ParseSess::new(FilePathMapping::empty());
 
     iter_exprs(2, &mut |mut e| {
         // If the pretty printer is correct, then `parse(print(e))` should be identical to `e`,