rust/compiler/rustc_driver_impl
bors 343ad6f059 Auto merge of #111626 - pjhades:output, r=b-naber
Write to stdout if `-` is given as output file

With this PR, if `-o -` or `--emit KIND=-` is provided, output will be written to stdout instead. Binary output (those of type `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 implements https://github.com/rust-lang/compiler-team/issues/431

The idea behind the changes is to introduce an `OutFileName` enum that represents the output - be it a real path or stdout - and to use this enum along the code paths that handle different output types.
2023-06-09 09:45:40 +00:00
..
src Auto merge of #111626 - pjhades:output, r=b-naber 2023-06-09 09:45:40 +00:00
Cargo.toml bump windows crate 0.46 -> 0.48 in workspace 2023-05-09 18:20:13 +03:00
messages.ftl Ensure Fluent messages are in alphabetical order 2023-05-25 23:49:35 +00:00
README.md Rename rustc_driver to rustc_driver_impl 2023-02-02 07:12:10 +01:00

The driver crate is effectively the "main" function for the rust compiler. It orchestrates the compilation process and "knits together" the code from the other crates within rustc. This crate itself does not contain any of the "main logic" of the compiler (though it does have some code related to pretty printing or other minor compiler options).

For more information about how the driver works, see the rustc dev guide.