Write to stdout if -
is given as output file
If `-o -` or `--emit KIND=-` is provided, output will be written to stdout instead. Binary output (`obj`, `llvm-bc`, `link` and `metadata`) being written this way will result in an error unless stdout is not a tty. Multiple output types going to stdout will trigger an error too, as they will all be mixded together.
This commit is contained in:
parent
1221e43bdf
commit
9b1a1e1d95
32 changed files with 456 additions and 101 deletions
|
@ -11,7 +11,7 @@ use rustc_session::config::InstrumentXRay;
|
|||
use rustc_session::config::TraitSolver;
|
||||
use rustc_session::config::{build_configuration, build_session_options, to_crate_config};
|
||||
use rustc_session::config::{
|
||||
BranchProtection, Externs, OomStrategy, OutputType, OutputTypes, PAuthKey, PacRet,
|
||||
BranchProtection, Externs, OomStrategy, OutFileName, OutputType, OutputTypes, PAuthKey, PacRet,
|
||||
ProcMacroExecutionStrategy, SymbolManglingVersion, WasiExecModel,
|
||||
};
|
||||
use rustc_session::config::{CFGuard, ExternEntry, LinkerPluginLto, LtoCli, SwitchWithOptPath};
|
||||
|
@ -167,8 +167,14 @@ fn test_output_types_tracking_hash_different_paths() {
|
|||
let mut v2 = Options::default();
|
||||
let mut v3 = Options::default();
|
||||
|
||||
v1.output_types = OutputTypes::new(&[(OutputType::Exe, Some(PathBuf::from("./some/thing")))]);
|
||||
v2.output_types = OutputTypes::new(&[(OutputType::Exe, Some(PathBuf::from("/some/thing")))]);
|
||||
v1.output_types = OutputTypes::new(&[(
|
||||
OutputType::Exe,
|
||||
Some(OutFileName::Real(PathBuf::from("./some/thing"))),
|
||||
)]);
|
||||
v2.output_types = OutputTypes::new(&[(
|
||||
OutputType::Exe,
|
||||
Some(OutFileName::Real(PathBuf::from("/some/thing"))),
|
||||
)]);
|
||||
v3.output_types = OutputTypes::new(&[(OutputType::Exe, None)]);
|
||||
|
||||
assert_non_crate_hash_different(&v1, &v2);
|
||||
|
@ -182,13 +188,13 @@ fn test_output_types_tracking_hash_different_construction_order() {
|
|||
let mut v2 = Options::default();
|
||||
|
||||
v1.output_types = OutputTypes::new(&[
|
||||
(OutputType::Exe, Some(PathBuf::from("./some/thing"))),
|
||||
(OutputType::Bitcode, Some(PathBuf::from("./some/thing.bc"))),
|
||||
(OutputType::Exe, Some(OutFileName::Real(PathBuf::from("./some/thing")))),
|
||||
(OutputType::Bitcode, Some(OutFileName::Real(PathBuf::from("./some/thing.bc")))),
|
||||
]);
|
||||
|
||||
v2.output_types = OutputTypes::new(&[
|
||||
(OutputType::Bitcode, Some(PathBuf::from("./some/thing.bc"))),
|
||||
(OutputType::Exe, Some(PathBuf::from("./some/thing"))),
|
||||
(OutputType::Bitcode, Some(OutFileName::Real(PathBuf::from("./some/thing.bc")))),
|
||||
(OutputType::Exe, Some(OutFileName::Real(PathBuf::from("./some/thing")))),
|
||||
]);
|
||||
|
||||
assert_same_hash(&v1, &v2);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue