From 004614c4b38eead656201c97d2e50f55c28c79b3 Mon Sep 17 00:00:00 2001 From: 12101111 Date: Sat, 22 May 2021 00:09:07 +0800 Subject: native lib: defer the duplicate check after relevant_lib check. --- compiler/rustc_codegen_ssa/src/back/link.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'compiler/rustc_codegen_ssa/src') diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs index e330b5e703b..32275e9b073 100644 --- a/compiler/rustc_codegen_ssa/src/back/link.rs +++ b/compiler/rustc_codegen_ssa/src/back/link.rs @@ -1805,13 +1805,14 @@ fn add_local_native_libraries( let search_path = archive_search_paths(sess); let mut last = (NativeLibKind::Unspecified, None); for lib in relevant_libs { - // Skip if this library is the same as the last. - last = if (lib.kind, lib.name) == last { continue } else { (lib.kind, lib.name) }; - let name = match lib.name { Some(l) => l, None => continue, }; + + // Skip if this library is the same as the last. + last = if (lib.kind, lib.name) == last { continue } else { (lib.kind, lib.name) }; + let verbatim = lib.verbatim.unwrap_or(false); match lib.kind { NativeLibKind::Dylib { as_needed } => { @@ -2144,9 +2145,6 @@ fn add_upstream_native_libraries( let mut last = (NativeLibKind::Unspecified, None); for &(cnum, _) in crates { for lib in codegen_results.crate_info.native_libraries[&cnum].iter() { - // Skip if this library is the same as the last. - last = if (lib.kind, lib.name) == last { continue } else { (lib.kind, lib.name) }; - let name = match lib.name { Some(l) => l, None => continue, @@ -2154,6 +2152,10 @@ fn add_upstream_native_libraries( if !relevant_lib(sess, &lib) { continue; } + + // Skip if this library is the same as the last. + last = if (lib.kind, lib.name) == last { continue } else { (lib.kind, lib.name) }; + let verbatim = lib.verbatim.unwrap_or(false); match lib.kind { NativeLibKind::Dylib { as_needed } => { -- cgit 1.4.1-3-g733a5