File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed
branches/try2/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 @@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
5
5
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
- refs/heads/try2: 4d9a4786163a9a9831bf4e283b4e408be03a169b
8
+ refs/heads/try2: 6d2d47b2fc73b7beacced1f2a62037193ea1ed30
9
9
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
10
10
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
11
11
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
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