Skip to content

Commit 2678765

Browse files
committed
FIX - Migrate missing errors in link.rs
1 parent 1f4c5a6 commit 2678765

File tree

3 files changed

+21
-4
lines changed

3 files changed

+21
-4
lines changed

compiler/rustc_codegen_ssa/src/back/link.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -2776,14 +2776,14 @@ fn add_apple_sdk(cmd: &mut dyn Linker, sess: &Session, flavor: LinkerFlavor) {
27762776
("arm", "watchos") => "watchos",
27772777
(_, "macos") => "macosx",
27782778
_ => {
2779-
sess.err(&format!("unsupported arch `{}` for os `{}`", arch, os));
2779+
sess.emit_err(errors::UnsupportedArch { arch, os });
27802780
return;
27812781
}
27822782
};
27832783
let sdk_root = match get_apple_sdk_root(sdk_name) {
27842784
Ok(s) => s,
27852785
Err(e) => {
2786-
sess.err(&e);
2786+
sess.emit_err(e);
27872787
return;
27882788
}
27892789
};
@@ -2799,7 +2799,7 @@ fn add_apple_sdk(cmd: &mut dyn Linker, sess: &Session, flavor: LinkerFlavor) {
27992799
}
28002800
}
28012801

2802-
fn get_apple_sdk_root(sdk_name: &str) -> Result<String, String> {
2802+
fn get_apple_sdk_root(sdk_name: &str) -> Result<String, errors::AppleSdkRootError<'_>> {
28032803
// Following what clang does
28042804
// (https://github.com/llvm/llvm-project/blob/
28052805
// 296a80102a9b72c3eda80558fb78a3ed8849b341/clang/lib/Driver/ToolChains/Darwin.cpp#L1661-L1678)
@@ -2849,7 +2849,7 @@ fn get_apple_sdk_root(sdk_name: &str) -> Result<String, String> {
28492849

28502850
match res {
28512851
Ok(output) => Ok(output.trim().to_string()),
2852-
Err(e) => Err(format!("failed to get {} SDK path: {}", sdk_name, e)),
2852+
Err(error) => Err(errors::AppleSdkRootError::SdkPath { sdk_name, error }),
28532853
}
28542854
}
28552855

compiler/rustc_codegen_ssa/src/errors.rs

+13
Original file line numberDiff line numberDiff line change
@@ -532,3 +532,16 @@ impl IntoDiagnostic<'_, !> for ExtractBundledLibsError<'_> {
532532
diag
533533
}
534534
}
535+
536+
#[derive(Diagnostic)]
537+
#[diag(codegen_ssa_unsupported_arch)]
538+
pub struct UnsupportedArch<'a> {
539+
pub arch: &'a str,
540+
pub os: &'a str,
541+
}
542+
543+
#[derive(Diagnostic)]
544+
pub enum AppleSdkRootError<'a> {
545+
#[diag(codegen_ssa_apple_sdk_error_sdk_path)]
546+
SdkPath { sdk_name: &'a str, error: Error },
547+
}

compiler/rustc_error_messages/locales/en-US/codegen_ssa.ftl

+4
Original file line numberDiff line numberDiff line change
@@ -178,3 +178,7 @@ codegen_ssa_extract_bundled_libs_read_entry = failed to read entry '{$rlib}': {$
178178
codegen_ssa_extract_bundled_libs_archive_member = failed to get data from archive member '{$rlib}': {$error}
179179
codegen_ssa_extract_bundled_libs_convert_name = failed to convert name '{$rlib}': {$error}
180180
codegen_ssa_extract_bundled_libs_write_file = failed to write file '{$rlib}': {$error}
181+
182+
codegen_ssa_unsupported_arch = unsupported arch `{$arch}` for os `{$os}`
183+
184+
codegen_ssa_apple_sdk_error_sdk_path = failed to get {$sdk_name} SDK path: {error}

0 commit comments

Comments
 (0)