Fix -Clinker-plugin-lto with opt-levels s and z
This commit is contained in:
parent
c71248b708
commit
4f5394199b
@ -221,10 +221,8 @@ impl<'a> GccLinker<'a> {
|
||||
let opt_level = match self.sess.opts.optimize {
|
||||
config::OptLevel::No => "O0",
|
||||
config::OptLevel::Less => "O1",
|
||||
config::OptLevel::Default => "O2",
|
||||
config::OptLevel::Default | config::OptLevel::Size | config::OptLevel::SizeMin => "O2",
|
||||
config::OptLevel::Aggressive => "O3",
|
||||
config::OptLevel::Size => "Os",
|
||||
config::OptLevel::SizeMin => "Oz",
|
||||
};
|
||||
|
||||
self.linker_arg(&format!("-plugin-opt={}", opt_level));
|
||||
|
6
src/test/ui/lto-opt-level-s.rs
Normal file
6
src/test/ui/lto-opt-level-s.rs
Normal file
@ -0,0 +1,6 @@
|
||||
// compile-flags: -Clinker-plugin-lto -Copt-level=s
|
||||
// build-pass
|
||||
|
||||
#![crate_type = "rlib"]
|
||||
|
||||
pub fn foo() {}
|
6
src/test/ui/lto-opt-level-z.rs
Normal file
6
src/test/ui/lto-opt-level-z.rs
Normal file
@ -0,0 +1,6 @@
|
||||
// compile-flags: -Clinker-plugin-lto -Copt-level=z
|
||||
// build-pass
|
||||
|
||||
#![crate_type = "rlib"]
|
||||
|
||||
pub fn foo() {}
|
Loading…
Reference in New Issue
Block a user