diff options
| author | Corey Farwell <coreyf@rwell.org> | 2017-04-05 12:44:40 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-04-05 12:44:40 -0400 |
| commit | 97a1f4b1f4e2acc25f939ea08ff634f70e1ab58d (patch) | |
| tree | f1781c8eee2c19a80fc40159ebe7c9de37817f31 /src | |
| parent | d0d05f5dd3ca54bf7cfacd34e221635a7593db77 (diff) | |
| parent | 201b1a9032df63b40c1024cc9defd4a4b66cd73a (diff) | |
| download | rust-97a1f4b1f4e2acc25f939ea08ff634f70e1ab58d.tar.gz rust-97a1f4b1f4e2acc25f939ea08ff634f70e1ab58d.zip | |
Rollup merge of #41085 - nagisa:fix-output-properg, r=alexcrichton
Properly adjust filenames when multiple emissions Fixes #40993 Should backport just fine to beta but not sure if we want to do this since this is quite old stable regression.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_driver/driver.rs | 7 | ||||
| -rw-r--r-- | src/test/run-make/multiple-emits/Makefile | 7 | ||||
| -rw-r--r-- | src/test/run-make/multiple-emits/foo.rs | 11 |
3 files changed, 21 insertions, 4 deletions
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs index 977382b33ad..96eb5dd602f 100644 --- a/src/librustc_driver/driver.rs +++ b/src/librustc_driver/driver.rs @@ -1358,10 +1358,9 @@ pub fn build_output_filenames(input: &Input, .values() .filter(|a| a.is_none()) .count(); - let ofile = if unnamed_output_types > 1 && - sess.opts.output_types.contains_key(&OutputType::Exe) { - sess.warn("ignoring specified output filename for 'link' output because multiple \ - outputs were requested"); + let ofile = if unnamed_output_types > 1 { + sess.warn("due to multiple output types requested, the explicitly specified \ + output file name will be adapted for each output type"); None } else { Some(out_file.clone()) diff --git a/src/test/run-make/multiple-emits/Makefile b/src/test/run-make/multiple-emits/Makefile new file mode 100644 index 00000000000..e126422835c --- /dev/null +++ b/src/test/run-make/multiple-emits/Makefile @@ -0,0 +1,7 @@ +-include ../tools.mk + +all: + $(RUSTC) foo.rs --emit=asm,llvm-ir -o $(TMPDIR)/out 2>&1 + rm $(TMPDIR)/out.ll $(TMPDIR)/out.s + $(RUSTC) foo.rs --emit=asm,llvm-ir -o $(TMPDIR)/out2.ext 2>&1 + rm $(TMPDIR)/out2.ll $(TMPDIR)/out2.s diff --git a/src/test/run-make/multiple-emits/foo.rs b/src/test/run-make/multiple-emits/foo.rs new file mode 100644 index 00000000000..8ae3d072362 --- /dev/null +++ b/src/test/run-make/multiple-emits/foo.rs @@ -0,0 +1,11 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +fn main() {} |
