diff options
| author | Michael Woerister <michaelwoerister@posteo> | 2018-04-16 16:25:29 +0200 |
|---|---|---|
| committer | Michael Woerister <michaelwoerister@posteo> | 2018-05-03 02:30:14 -0700 |
| commit | 443f99fca02365c8d4cbc734d290d4b0cc7c3ae6 (patch) | |
| tree | f33a17d1facc53c387c4b58d6e2c0495b7489d93 /src | |
| parent | aed5b9c81540343987649db9a5836bedc7e56258 (diff) | |
| download | rust-443f99fca02365c8d4cbc734d290d4b0cc7c3ae6.tar.gz rust-443f99fca02365c8d4cbc734d290d4b0cc7c3ae6.zip | |
Add -Z cross-lang-lto flag in order to support linker-based LTO.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/session/config.rs | 2 | ||||
| -rw-r--r-- | src/librustc_trans/back/write.rs | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs index 59b40e9e2dc..574a8992ad1 100644 --- a/src/librustc/session/config.rs +++ b/src/librustc/session/config.rs @@ -1293,6 +1293,8 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options, "make the current crate share its generic instantiations"), chalk: bool = (false, parse_bool, [TRACKED], "enable the experimental Chalk-based trait solving engine"), + cross_lang_lto: bool = (false, parse_bool, [TRACKED], + "generate build artifacts that are compatible with linker-based LTO."), } pub fn default_lib_output() -> CrateType { diff --git a/src/librustc_trans/back/write.rs b/src/librustc_trans/back/write.rs index a14c98acb2d..aeed81fa059 100644 --- a/src/librustc_trans/back/write.rs +++ b/src/librustc_trans/back/write.rs @@ -293,7 +293,8 @@ impl ModuleConfig { self.inline_threshold = sess.opts.cg.inline_threshold; self.obj_is_bitcode = sess.target.target.options.obj_is_bitcode; let embed_bitcode = sess.target.target.options.embed_bitcode || - sess.opts.debugging_opts.embed_bitcode; + sess.opts.debugging_opts.embed_bitcode || + sess.opts.debugging_opts.cross_lang_lto; if embed_bitcode { match sess.opts.optimize { config::OptLevel::No | |
