Skip to content

Commit

Permalink
Address PR comments
Browse files Browse the repository at this point in the history
- UPDATE - revert migration of logs

- UPDATE - use derive on LinkRlibError enum

- [Gardening] UPDATE - alphabetically sort fluent_messages

- UPDATE - use PathBuf and unify both AddNativeLibrary to use Display (which is what PathBuf uses when conforming to IntoDiagnosticArg)

- UPDATE - fluent messages sort after rebase
  • Loading branch information
JhonnyBillM committed Oct 7, 2022
1 parent 12aa84b commit a25f939
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 53 deletions.
10 changes: 2 additions & 8 deletions compiler/rustc_codegen_ssa/src/back/link.rs
Original file line number Diff line number Diff line change
Expand Up @@ -362,10 +362,7 @@ fn link_rlib<'a>(
continue;
}
ab.add_archive(&location, Box::new(|_| false)).unwrap_or_else(|error| {
sess.emit_fatal(errors::AddNativeLibrary {
library_path: &location.to_string_lossy(),
error,
});
sess.emit_fatal(errors::AddNativeLibrary { library_path: location, error });
});
}
}
Expand All @@ -381,10 +378,7 @@ fn link_rlib<'a>(
);

ab.add_archive(&output_path, Box::new(|_| false)).unwrap_or_else(|error| {
sess.emit_fatal(errors::AddNativeLibrary {
library_path: &output_path.display().to_string(),
error,
});
sess.emit_fatal(errors::AddNativeLibrary { library_path: output_path, error });
});
}

Expand Down
6 changes: 3 additions & 3 deletions compiler/rustc_codegen_ssa/src/back/linker.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,13 @@ pub fn get_linker<'a>(
arg.push(format!("{}\\lib\\{}\\store", root_lib_path.display(), a));
cmd.arg(&arg);
} else {
sess.emit_warning(errors::UnsupportedArch);
warn!("arch is not supported");
}
} else {
sess.emit_warning(errors::MsvcPathNotFound);
warn!("MSVC root path lib location not found");
}
} else {
sess.emit_warning(errors::LinkExeNotFound);
warn!("link.exe not found");
}
}

Expand Down
42 changes: 8 additions & 34 deletions compiler/rustc_codegen_ssa/src/errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,6 @@ pub struct SymbolFileWriteFailure {
pub error: Error,
}

#[derive(Diagnostic)]
#[diag(codegen_ssa::unsupported_arch)]
pub struct UnsupportedArch;

#[derive(Diagnostic)]
#[diag(codegen_ssa::msvc_path_not_found)]
pub struct MsvcPathNotFound;

#[derive(Diagnostic)]
#[diag(codegen_ssa::link_exe_not_found)]
pub struct LinkExeNotFound;

#[derive(Diagnostic)]
#[diag(codegen_ssa::ld64_unimplemented_modifier)]
pub struct Ld64UnimplementedModifier;
Expand Down Expand Up @@ -115,8 +103,8 @@ pub struct IncompatibleLinkingModifiers;

#[derive(Diagnostic)]
#[diag(codegen_ssa::add_native_library)]
pub struct AddNativeLibrary<'a> {
pub library_path: &'a str,
pub struct AddNativeLibrary {
pub library_path: PathBuf,
pub error: Error,
}

Expand All @@ -129,30 +117,16 @@ pub struct MultipleExternalFuncDecl<'a> {
pub library_name: &'a str,
}

#[derive(Diagnostic)]
pub enum LinkRlibError {
#[diag(codegen_ssa::rlib_missing_format)]
MissingFormat,

#[diag(codegen_ssa::rlib_only_rmeta_found)]
OnlyRmetaFound { crate_name: Symbol },
NotFound { crate_name: Symbol },
}

impl IntoDiagnostic<'_, !> for LinkRlibError {
fn into_diagnostic(self, handler: &Handler) -> DiagnosticBuilder<'_, !> {
match self {
LinkRlibError::MissingFormat => {
handler.struct_fatal(fluent::codegen_ssa::rlib_missing_format)
}
LinkRlibError::OnlyRmetaFound { crate_name } => {
let mut diag = handler.struct_fatal(fluent::codegen_ssa::rlib_only_rmeta_found);
diag.set_arg("crate_name", crate_name);
diag
}
LinkRlibError::NotFound { crate_name } => {
let mut diag = handler.struct_fatal(fluent::codegen_ssa::rlib_not_found);
diag.set_arg("crate_name", crate_name);
diag
}
}
}
#[diag(codegen_ssa::rlib_not_found)]
NotFound { crate_name: Symbol },
}

#[derive(Diagnostic)]
Expand Down
6 changes: 0 additions & 6 deletions compiler/rustc_error_messages/locales/en-US/codegen_ssa.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@ codegen_ssa_version_script_write_failure = failed to write version script: {$err
codegen_ssa_symbol_file_write_failure = failed to write symbols file: {$error}
codegen_ssa_unsupported_arch = arch is not supported
codegen_ssa_msvc_path_not_found = MSVC root path lib location not found
codegen_ssa_link_exe_not_found = link.exe not found
codegen_ssa_ld64_unimplemented_modifier = `as-needed` modifier not implemented yet for ld64
codegen_ssa_linker_unsupported_modifier = `as-needed` modifier not supported for current linker
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_error_messages/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,10 @@ fluent_messages! {
attr => "../locales/en-US/attr.ftl",
borrowck => "../locales/en-US/borrowck.ftl",
builtin_macros => "../locales/en-US/builtin_macros.ftl",
codegen_gcc => "../locales/en-US/codegen_gcc.ftl",
codegen_ssa => "../locales/en-US/codegen_ssa.ftl",
compiletest => "../locales/en-US/compiletest.ftl",
const_eval => "../locales/en-US/const_eval.ftl",
codegen_gcc => "../locales/en-US/codegen_gcc.ftl",
driver => "../locales/en-US/driver.ftl",
expand => "../locales/en-US/expand.ftl",
hir_analysis => "../locales/en-US/hir_analysis.ftl",
Expand All @@ -63,7 +64,6 @@ fluent_messages! {
symbol_mangling => "../locales/en-US/symbol_mangling.ftl",
trait_selection => "../locales/en-US/trait_selection.ftl",
ty_utils => "../locales/en-US/ty_utils.ftl",
codegen_ssa => "../locales/en-US/codegen_ssa.ftl",
}

pub use fluent_generated::{self as fluent, DEFAULT_LOCALE_RESOURCES};
Expand Down

0 comments on commit a25f939

Please sign in to comment.