rust/compiler/rustc_driver_impl
Nicholas Nethercote 23ee523ea6 Remove CodegenBackend::target_override.
Backend and target selection is a mess: the target can override the
backend (via `Target::default_codegen_backend`), *and* the backend can
override the target (via `CodegenBackend::target_override`).

The code that handles this is ugly. It calls `build_target_config`
twice, once before getting the backend and once again afterward. It also
must check that both overrides aren't triggering at the same time.

This commit removes the latter override. It's used in rust-gpu but
@eddyb said via Zulip that removing it would be ok. This simplifies the
code greatly, and will allow some nice follow-up refactorings.
2024-03-21 11:48:49 +11:00
..
src Remove CodegenBackend::target_override. 2024-03-21 11:48:49 +11:00
Cargo.toml Hint user to update nightly on ICEs produced from outdated nightly 2024-02-27 01:13:14 +00:00
messages.ftl Adjust wording 2024-02-27 12:53:41 +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.