Skip to content

Commit

Permalink
Avoid a couple of unnecessary EarlyDiagCtxt uses
Browse files Browse the repository at this point in the history
  • Loading branch information
bjorn3 committed Jun 22, 2024
1 parent 9ed2d83 commit 1559962
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 15 deletions.
19 changes: 9 additions & 10 deletions compiler/rustc_driver_impl/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -367,18 +367,17 @@ fn run_compiler(
return early_exit();
}

let early_dcx = EarlyDiagCtxt::new(sess.opts.error_format);

if print_crate_info(&early_dcx, codegen_backend, sess, has_input) == Compilation::Stop {
if print_crate_info(codegen_backend, sess, has_input) == Compilation::Stop {
return early_exit();
}

if !has_input {
early_dcx.early_fatal("no input filename given"); // this is fatal
#[allow(rustc::diagnostic_outside_of_impl)]
sess.dcx().fatal("no input filename given"); // this is fatal
}

if !sess.opts.unstable_opts.ls.is_empty() {
list_metadata(&early_dcx, sess, &*codegen_backend.metadata_loader());
list_metadata(sess, &*codegen_backend.metadata_loader());
return early_exit();
}

Expand Down Expand Up @@ -674,7 +673,7 @@ fn process_rlink(sess: &Session, compiler: &interface::Compiler) {
}
}

fn list_metadata(early_dcx: &EarlyDiagCtxt, sess: &Session, metadata_loader: &dyn MetadataLoader) {
fn list_metadata(sess: &Session, metadata_loader: &dyn MetadataLoader) {
match sess.io.input {
Input::File(ref ifile) => {
let path = &(*ifile);
Expand All @@ -691,13 +690,13 @@ fn list_metadata(early_dcx: &EarlyDiagCtxt, sess: &Session, metadata_loader: &dy
safe_println!("{}", String::from_utf8(v).unwrap());
}
Input::Str { .. } => {
early_dcx.early_fatal("cannot list metadata for stdin");
#[allow(rustc::diagnostic_outside_of_impl)]
sess.dcx().fatal("cannot list metadata for stdin");
}
}
}

fn print_crate_info(
early_dcx: &EarlyDiagCtxt,
codegen_backend: &dyn CodegenBackend,
sess: &Session,
parse_attrs: bool,
Expand Down Expand Up @@ -881,8 +880,8 @@ fn print_crate_info(
.expect("unknown Apple target OS");
println_info!("deployment_target={}", format!("{major}.{minor}"))
} else {
early_dcx
.early_fatal("only Apple targets currently support deployment version info")
#[allow(rustc::diagnostic_outside_of_impl)]
sess.dcx().fatal("only Apple targets currently support deployment version info")
}
}
}
Expand Down
2 changes: 2 additions & 0 deletions tests/run-make/jobserver-error/cannot_open_fd.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ warning: failed to connect to jobserver from environment variable `MAKEFLAGS="--

error: no input filename given

error: aborting due to 1 previous error

10 changes: 5 additions & 5 deletions tests/run-make/no-input-file/rmake.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
use run_make_support::rustc;

fn main() {
rustc()
.print("crate-name")
.run_fail()
.assert_exit_code(1)
.assert_stderr_equals("error: no input filename given");
rustc().print("crate-name").run_fail().assert_exit_code(1).assert_stderr_equals(
"error: no input filename given
error: aborting due to 1 previous error",
);
}

0 comments on commit 1559962

Please sign in to comment.