Skip to content

Commit 4f53941

Browse files
Fix -Clinker-plugin-lto with opt-levels s and z
1 parent c71248b commit 4f53941

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

compiler/rustc_codegen_ssa/src/back/linker.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,10 +221,8 @@ impl<'a> GccLinker<'a> {
221221
let opt_level = match self.sess.opts.optimize {
222222
config::OptLevel::No => "O0",
223223
config::OptLevel::Less => "O1",
224-
config::OptLevel::Default => "O2",
224+
config::OptLevel::Default | config::OptLevel::Size | config::OptLevel::SizeMin => "O2",
225225
config::OptLevel::Aggressive => "O3",
226-
config::OptLevel::Size => "Os",
227-
config::OptLevel::SizeMin => "Oz",
228226
};
229227

230228
self.linker_arg(&format!("-plugin-opt={}", opt_level));

src/test/ui/lto-opt-level-s.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// compile-flags: -Clinker-plugin-lto -Copt-level=s
2+
// build-pass
3+
4+
#![crate_type = "rlib"]
5+
6+
pub fn foo() {}

src/test/ui/lto-opt-level-z.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// compile-flags: -Clinker-plugin-lto -Copt-level=z
2+
// build-pass
3+
4+
#![crate_type = "rlib"]
5+
6+
pub fn foo() {}

0 commit comments

Comments
 (0)