rust/src/librustc_driver
bors a8247dd5c6 Auto merge of #52197 - euclio:exit-code, r=oli-obk
overhaul exit codes for rustc and rustdoc

This commit changes the exit status of rustc to 1 in the presence of
compilation errors. In the event of an unexpected panic (ICE) the
standard panic error exit status of 101 remains.

A run-make test is added to ensure that the exit code does not regress,
and compiletest is updated to check for an exit status of 1 or 101,
depending on the mode and suite.

This is a breaking change for custom drivers.

Note that while changes were made to the rustdoc binary, there is no
intended behavior change. rustdoc errors (i.e., failed lints) will still
report 101. While this could *also* hide potential ICEs, I will leave
that work to a future PR.

Fixes #51971.
2018-07-19 13:46:15 +00:00
..
profile Calculate the exact capacity for 2 HashMaps 2018-07-16 18:38:33 +02:00
build.rs rustc: Add some build scripts for librustc crates 2017-07-22 22:04:13 -07:00
Cargo.toml Remove unused rustc_driver dependency on ar 2018-07-07 10:52:19 +02:00
derive_registrar.rs kill a bunch of one off tasks 2017-04-18 08:20:12 -04:00
driver.rs Auto merge of #52375 - oli-obk:the_early_lint_pass_gets_the_worm, r=Manishearth 2018-07-18 15:04:17 +00:00
lib.rs rustc: distinguish compilation failure from ICE 2018-07-18 00:24:13 -04:00
pretty.rs Deny bare trait objects in librustc_driver 2018-07-12 09:11:39 +02:00
README.md Replace many of the last references to readmes 2018-03-16 12:43:22 -05:00
test.rs Auto merge of #52285 - ljedrz:dyn_librustc_driver, r=nikomatsakis 2018-07-17 02:50:14 +00: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 guide.