diff options
| author | Jakub Beránek <berykubik@gmail.com> | 2022-09-29 16:31:03 +0200 |
|---|---|---|
| committer | Jakub Beránek <berykubik@gmail.com> | 2022-10-23 13:48:03 +0200 |
| commit | c5c86806c859048f9bfdbb92b30401ef4f3a3346 (patch) | |
| tree | 80bd0586eb361e26c5f7f826ecc4f39f3eec9ef7 /compiler/rustc_codegen_ssa/src/back | |
| parent | cba16819a1aa2f99c861eba907847db39fea06c5 (diff) | |
Introduce dedicated `-Zdylib-lto` flag for enabling LTO on `dylib`s
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/back')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/link.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs index 1adaf9bd6cf..a0b5e3b6daf 100644 --- a/compiler/rustc_codegen_ssa/src/back/link.rs +++ b/compiler/rustc_codegen_ssa/src/back/link.rs @@ -39,6 +39,7 @@ use cc::windows_registry; use regex::Regex; use tempfile::Builder as TempFileBuilder; +use itertools::Itertools; use std::borrow::Borrow; use std::cell::OnceCell; use std::collections::BTreeSet; @@ -49,7 +50,6 @@ use std::ops::Deref; use std::path::{Path, PathBuf}; use std::process::{ExitStatus, Output, Stdio}; use std::{env, fmt, fs, io, mem, str}; -use itertools::Itertools; pub fn ensure_removed(diag_handler: &Handler, path: &Path) { if let Err(e) = fs::remove_file(path) { @@ -219,10 +219,15 @@ pub fn each_linked_rlib( let lto_active = matches!(sess.lto(), Lto::Fat | Lto::Thin); if lto_active { for combination in info.dependency_formats.iter().combinations(2) { - let (ty1, list1) = combination[0]; - let (ty2, list2) = combination[1]; + let (ty1, list1) = &combination[0]; + let (ty2, list2) = &combination[1]; if list1 != list2 { - return Err(format!("{ty1:?} and {ty2:?} do not have equivalent dependency formats (`{list1:?}` vs `{list2:?}`)")); + return Err(errors::LinkRlibError::IncompatibleDependencyFormats { + ty1: format!("{ty1:?}"), + ty2: format!("{ty2:?}"), + list1: format!("{list1:?}"), + list2: format!("{list2:?}"), + }); } } } |
