File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed
branches/try/src/librustc/back Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change 2
2
refs/heads/master: c964cb229bd342bdeb0b4506c3a6d32b03e575f6
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: 67b97ab6d2b7de9b69fd97dc171fcf8feec932ff
5
- refs/heads/try: 4d9a4786163a9a9831bf4e283b4e408be03a169b
5
+ refs/heads/try: 6d2d47b2fc73b7beacced1f2a62037193ea1ed30
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
Original file line number Diff line number Diff line change @@ -476,6 +476,9 @@ pub fn run_passes(sess: &Session,
476
476
sess. fatal ( "can't perform LTO when using multiple codegen units" ) ;
477
477
}
478
478
479
+ // Sanity check
480
+ assert ! ( trans. modules. len( ) == sess. opts. cg. codegen_units) ;
481
+
479
482
unsafe {
480
483
configure_llvm ( sess) ;
481
484
}
@@ -607,6 +610,15 @@ pub fn run_passes(sess: &Session,
607
610
} ;
608
611
609
612
let link_obj = |output_path : & Path | {
613
+ // Running `ld -r` on a single input is kind of pointless.
614
+ if sess. opts . cg . codegen_units == 1 {
615
+ fs:: copy ( & crate_output. with_extension ( "0.o" ) ,
616
+ output_path) . unwrap ( ) ;
617
+ // Leave the .0.o file around, to mimic the behavior of the normal
618
+ // code path.
619
+ return ;
620
+ }
621
+
610
622
// Some builds of MinGW GCC will pass --force-exe-suffix to ld, which
611
623
// will automatically add a .exe extension if the extension is not
612
624
// already .exe or .dll. To ensure consistent behavior on Windows, we
You can’t perform that action at this time.
0 commit comments