summary refs log tree commit diff
path: root/compiler/rustc_interface
diff options
context:
space:
mode:
authorWesley Wiser <wwiser@gmail.com>2020-12-19 16:30:56 -0500
committerWesley Wiser <wwiser@gmail.com>2020-12-22 09:33:16 -0500
commitf1eb88b28a84b0533ddd036a60bb5b8acbffabb2 (patch)
treed97f70bd40a68bd517da1e63b56d0c64d6b001f2 /compiler/rustc_interface
parent9414f0b833734c344e795d590e9a845ce437c908 (diff)
downloadrust-f1eb88b28a84b0533ddd036a60bb5b8acbffabb2.tar.gz
rust-f1eb88b28a84b0533ddd036a60bb5b8acbffabb2.zip
Revert "Promote missing_fragment_specifier to hard error"
This reverts commit 02eae432e7476a0686633a8c2b7cb1d5aab1bd2c.
Diffstat (limited to 'compiler/rustc_interface')
-rw-r--r--compiler/rustc_interface/src/passes.rs19
1 files changed, 18 insertions, 1 deletions
diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs
index c13d26c79d7..a8c8690b9e7 100644
--- a/compiler/rustc_interface/src/passes.rs
+++ b/compiler/rustc_interface/src/passes.rs
@@ -29,6 +29,7 @@ use rustc_passes::{self, hir_stats, layout_test};
 use rustc_plugin_impl as plugin;
 use rustc_resolve::{Resolver, ResolverArenas};
 use rustc_session::config::{CrateType, Input, OutputFilenames, OutputType, PpMode, PpSourceMode};
+use rustc_session::lint;
 use rustc_session::output::{filename_for_input, filename_for_metadata};
 use rustc_session::search_paths::PathKind;
 use rustc_session::Session;
@@ -306,11 +307,27 @@ fn configure_and_expand_inner<'a>(
             ecx.check_unused_macros();
         });
 
+        let mut missing_fragment_specifiers: Vec<_> = ecx
+            .sess
+            .parse_sess
+            .missing_fragment_specifiers
+            .borrow()
+            .iter()
+            .map(|(span, node_id)| (*span, *node_id))
+            .collect();
+        missing_fragment_specifiers.sort_unstable_by_key(|(span, _)| *span);
+
+        let recursion_limit_hit = ecx.reduced_recursion_limit.is_some();
+
+        for (span, node_id) in missing_fragment_specifiers {
+            let lint = lint::builtin::MISSING_FRAGMENT_SPECIFIER;
+            let msg = "missing fragment specifier";
+            resolver.lint_buffer().buffer_lint(lint, node_id, span, msg);
+        }
         if cfg!(windows) {
             env::set_var("PATH", &old_path);
         }
 
-        let recursion_limit_hit = ecx.reduced_recursion_limit.is_some();
         if recursion_limit_hit {
             // If we hit a recursion limit, exit early to avoid later passes getting overwhelmed
             // with a large AST