about summary refs log tree commit diff
path: root/src/rustc/rustc.rs
AgeCommit message (Collapse)AuthorLines
2018-04-17Rollup merge of #49606 - varkor:pipe-repair, r=alexcrichtonkennytm-1/+4
Prevent broken pipes causing ICEs As the private `std::io::print_to` panics if there is an I/O error, which is used by `println!`, the compiler would ICE if one attempted to use a broken pipe (e.g. `rustc --help | false`). This introduces a new (private) macro `try_println!` which allows us to avoid this. As a side note, it seems this macro might be useful publicly (and actually there seems to be [a crate specifically for this purpose](https://crates.io/crates/try_print/)), though that can probably be left for a future discussion. One slight alternative approach would be to simply early exit without an error (i.e. exit code `0`), which [this comment](https://github.com/rust-lang/rust/issues/34376#issuecomment-377822526) suggests is the usual approach. I've opted not to take that approach initially, because I think it's more helpful to know when there is a broken pipe. Fixes #34376.
2018-04-11Prevent EPIPE causing ICEs in rustc and rustdocvarkor-1/+4
2018-04-10Allow incorrectly reported unused attribute warningMark Simulacrum-0/+1
2018-03-28Set link args for rustdocTatsuyuki Ishi-0/+1
2018-03-18rustc_driver: get rid of extra thread on WindowsTatsuyuki Ishi-0/+9
2016-02-11Add a Cargo-based build systemAlex Crichton-0/+15
This commit is the start of a series of commits which start to replace the makefiles with a Cargo-based build system. The aim is not to remove the makefiles entirely just yet but rather just replace the portions that invoke the compiler to do the bootstrap. This commit specifically adds enough support to perform the bootstrap (and all the cross compilation within) along with generating documentation. More commits will follow up in this series to actually wire up the makefiles to call this build system, so stay tuned!