diff options
| author | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2023-11-04 15:38:54 +0000 |
|---|---|---|
| committer | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2023-11-26 17:43:49 +0000 |
| commit | eacbe65dfea942f40bf475658a154292077fde07 (patch) | |
| tree | b21905c3baffdc83e878b08dd9f824d212ecbd29 /compiler/rustc_interface | |
| parent | 457dbbfc55da44dbcee82e1f6eeab1dcf460dfc3 (diff) | |
| download | rust-eacbe65dfea942f40bf475658a154292077fde07.tar.gz rust-eacbe65dfea942f40bf475658a154292077fde07.zip | |
Accept crate name instead of attributes in build_output_filenames
Diffstat (limited to 'compiler/rustc_interface')
| -rw-r--r-- | compiler/rustc_interface/src/interface.rs | 5 | ||||
| -rw-r--r-- | compiler/rustc_interface/src/passes.rs | 3 | ||||
| -rw-r--r-- | compiler/rustc_interface/src/util.rs | 14 |
3 files changed, 9 insertions, 13 deletions
diff --git a/compiler/rustc_interface/src/interface.rs b/compiler/rustc_interface/src/interface.rs index 91fd4b4a1d0..a55cffbf6df 100644 --- a/compiler/rustc_interface/src/interface.rs +++ b/compiler/rustc_interface/src/interface.rs @@ -49,7 +49,10 @@ impl Compiler { sess: &Session, attrs: &[ast::Attribute], ) -> OutputFilenames { - util::build_output_filenames(attrs, sess) + util::build_output_filenames( + sess, + rustc_session::output::find_crate_name(sess, attrs).to_string(), + ) } } diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs index 99bea647bd5..cd8c475c94d 100644 --- a/compiler/rustc_interface/src/passes.rs +++ b/compiler/rustc_interface/src/passes.rs @@ -556,10 +556,9 @@ fn resolver_for_lowering<'tcx>( fn output_filenames(tcx: TyCtxt<'_>, (): ()) -> Arc<OutputFilenames> { let sess = tcx.sess; let _timer = sess.timer("prepare_outputs"); - let (_, krate) = &*tcx.resolver_for_lowering(()).borrow(); let crate_name = tcx.crate_name(LOCAL_CRATE); - let outputs = util::build_output_filenames(&krate.attrs, sess); + let outputs = util::build_output_filenames(sess, crate_name.to_string()); let output_paths = generated_output_paths(tcx, &outputs, sess.io.output_file.is_some(), crate_name); diff --git a/compiler/rustc_interface/src/util.rs b/compiler/rustc_interface/src/util.rs index b3ab01a740a..5266cdcec17 100644 --- a/compiler/rustc_interface/src/util.rs +++ b/compiler/rustc_interface/src/util.rs @@ -471,7 +471,7 @@ fn multiple_output_types_to_stdout( } } -pub fn build_output_filenames(attrs: &[ast::Attribute], sess: &Session) -> OutputFilenames { +pub fn build_output_filenames(sess: &Session, crate_name: String) -> OutputFilenames { if multiple_output_types_to_stdout( &sess.opts.output_types, sess.io.output_file == Some(OutFileName::Stdout), @@ -479,12 +479,6 @@ pub fn build_output_filenames(attrs: &[ast::Attribute], sess: &Session) -> Outpu sess.emit_fatal(errors::MultipleOutputTypesToStdout); } - let crate_name = sess - .opts - .crate_name - .clone() - .or_else(|| rustc_attr::find_crate_name(attrs).map(|n| n.to_string())); - match sess.io.output_file { None => { // "-" as input file will cause the parser to read from stdin so we @@ -493,11 +487,11 @@ pub fn build_output_filenames(attrs: &[ast::Attribute], sess: &Session) -> Outpu let dirpath = sess.io.output_dir.clone().unwrap_or_default(); // If a crate name is present, we use it as the link name - let stem = crate_name.clone().unwrap_or_else(|| sess.io.input.filestem().to_owned()); + let stem = crate_name.clone(); OutputFilenames::new( dirpath, - crate_name.unwrap_or_else(|| stem.replace('-', "_")), + crate_name, stem, None, sess.io.temps_dir.clone(), @@ -526,7 +520,7 @@ pub fn build_output_filenames(attrs: &[ast::Attribute], sess: &Session) -> Outpu out_file.filestem().unwrap_or_default().to_str().unwrap().to_string(); OutputFilenames::new( out_file.parent().unwrap_or_else(|| Path::new("")).to_path_buf(), - crate_name.unwrap_or_else(|| out_filestem.replace('-', "_")), + crate_name, out_filestem, ofile, sess.io.temps_dir.clone(), |
