Commit graph

1377 commits

Author SHA1 Message Date
flip1995
121abd0599
make it compile again 2018-05-02 12:05:13 +02:00
Seiichi Uchida
759bd01e03
Allow Path for name of MetaItem 2018-05-02 11:32:34 +02:00
Josh Stone
64bcbca81b rustc_driver: Catch ICEs on the main thread too 2018-04-27 14:57:00 -07:00
bors
3c43aa5677 Auto merge of #50102 - Zoxc:query-nomacro, r=michaelwoerister
Move query code outside macros and store query jobs separately from query results

Based on https://github.com/rust-lang/rust/pull/50067

r? @michaelwoerister
2018-04-27 16:42:31 +00:00
John Kåre Alsaker
987631d3ba Move query functions out from the define_maps! macro 2018-04-27 12:09:59 +02:00
John Kåre Alsaker
4d52751d12 Rename InternedString to LocalInternedString and introduce a new thread-safe InternedString 2018-04-27 03:35:32 +02:00
Irina Popa
04fa0e7bb3 rustc_target: move in syntax::abi and flip dependency. 2018-04-26 17:49:16 +03:00
Irina Popa
38e964077b Rename rustc_back::target to rustc_target::spec. 2018-04-26 16:39:44 +03:00
Tyler Mandry
98546f8b26 Make Binder's field private and clean up its usage 2018-04-24 22:12:07 -05:00
Niko Matsakis
7173fd78c6 in unit tests, use note to dump multiple program clauses
(rather than issuing multiple errors)

Also, reorder so that the annotations are considered "used" when the
lint runs.
2018-04-23 13:28:14 -04:00
Kurtis Nusbaum
320fdaa942 add EDITIONS_NAME_LIST, make edition tracked, enforce that only stable editions are allowed to be used on non-nightly builds 2018-04-19 21:03:21 -07:00
bors
f4bb956278 Auto merge of #49349 - Zoxc:sync-errors, r=michaelwoerister
Make Handler more thread-safe

The use of `code_emitted` to suppress extended explanations is not thread safe. I'm not sure why we keep the documentation for errors outside `diagnostics.rs` anyway. It would be better to add a `teach` method to `DiagnosticsBuilder`, so instead of:
```
if self.tcx.sess.teach(&err.get_code().unwrap()) {
    err.note("...");
}
```
we'd use `err.teach("...")`

cc @estebank

r? @michaelwoerister
2018-04-18 08:29:14 +00:00
bors
dcb44ca2f7 Auto merge of #49969 - mark-i-m:allocator_fmt, r=estebank
Various rustfmt and commenting changes

These are factored out of #49320

There aren't actually any changes in functionality, just rustfmt and doccomments.
2018-04-18 03:35:55 +00:00
Mark Mansi
5977818678 run rustfmt on rustc_driver/driver.rs 2018-04-17 10:54:10 -05:00
John Kåre Alsaker
bf06a53265 Make Handler more thread-safe 2018-04-17 16:43:30 +02:00
Michael Woerister
6f9c36e400 Use #[no_debug] to work around LLVM problem with rustc_driver::get_trans::LOAD. 2018-04-17 15:49:54 +02:00
bors
6b12d361ff Auto merge of #49882 - Zoxc:sync-misc2, r=michaelwoerister
More thread-safety changes

r? @michaelwoerister
2018-04-17 06:46:31 +00:00
kennytm
ccd2c403ac
Rollup merge of #49606 - varkor:pipe-repair, r=alexcrichton
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-17 01:50:58 +08:00
bors
d6a2dd9912 Auto merge of #49433 - varkor:metadata-skip-mir-opt, r=michaelwoerister
Skip MIR encoding for cargo check

Resolves #48662.

r? @michaelwoerister
2018-04-16 10:30:57 +00:00
John Kåre Alsaker
ead5cf11b8 Add misc timings 2018-04-15 20:53:03 +02:00
kennytm
6f629d3654
Rollup merge of #49913 - varkor:RegionParameterDef-InternedString, r=petrochenkov
Use InternedString rather than Name for RegionParameterDef

This makes it consistent with `TypeParameterDef`.
2018-04-14 15:22:57 +08:00
varkor
6234d4192a Use InternedString rather than Name for RegionParameterDef
This makes it consistent with TypeParameterDef.
2018-04-13 18:41:40 +01:00
bors
6c537493d0 Auto merge of #49558 - Zoxc:sync-misc, r=michaelwoerister
Even more thread-safety changes

r? @michaelwoerister
2018-04-12 16:22:36 +00:00
kennytm
77777b4528
Rollup merge of #49525 - varkor:sort_by_cached_key-conversion, r=scottmcm
Use sort_by_cached_key where appropriate

A follow-up to https://github.com/rust-lang/rust/pull/48639, converting various slice sorting calls to `sort_by_cached_key` when the key functions are more expensive.
2018-04-11 19:56:41 +08:00
varkor
7ab31f6556 Prevent EPIPE causing ICEs in rustc and rustdoc 2018-04-11 11:05:13 +01:00
bors
43e994c8b8 Auto merge of #49715 - Mark-Simulacrum:deny-warnings, r=alexcrichton
Move deny(warnings) into rustbuild

This permits easier iteration without having to worry about warnings
being denied.

Fixes #49517
2018-04-11 03:30:04 +00:00
bors
88ebd97d65 Auto merge of #49695 - michaelwoerister:unhygienic-ty-min, r=nikomatsakis
Use InternedString instead of Symbol for type parameter types (2)

Reduced alternative to #49266. Let's see if this causes a performance regression.
2018-04-11 00:51:38 +00:00
John Kåre Alsaker
cbf8ad4a40 Make Session.crate_types thread-safe 2018-04-10 14:40:26 +02:00
John Kåre Alsaker
271c8d362a Make Session.crate_disambiguator thread-safe 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
cf3b7909fa Make recursion_limit and type_length_limit thread-safe 2018-04-10 14:39:57 +02:00
varkor
57eedbaaf8 Convert sort_by to sort_by_cached_key 2018-04-09 16:44:19 +01:00
Mark Simulacrum
c115cc655c Move deny(warnings) into rustbuild
This permits easier iteration without having to worry about warnings
being denied.

Fixes #49517
2018-04-08 16:59:14 -06:00
Vadim Petrochenkov
3a30bad6de Use Ident instead of Name in MetaItem 2018-04-06 11:52:16 +03:00
Vadim Petrochenkov
baae274fb7 Use Span instead of SyntaxContext in Ident 2018-04-06 11:46:26 +03:00
Michael Woerister
7466740a93 Fix error in rustc_driver::test. 2018-04-06 10:35:23 +02:00
varkor
8414520436 Add len() method to OutputTypes 2018-04-04 12:52:33 +01:00
bors
5758c2dd14 Auto merge of #48575 - ishitatsuyuki:unix-no-thread, r=alexcrichton
rustc_driver: get rid of the extra thread

**Do not rollup**

We can alter the stack size afterwards on Unix.

Having a separate thread causes poor debugging experience when interrupting with signals. I have to get the backtrace of the all thread, as the main thread is waiting to join doing nothing else. This patch allows me to just run `bt` to get the desired backtrace.
2018-04-04 06:19:40 +00:00
bors
085c4b43b5 Auto merge of #49201 - Phlosioneer:add-trivial-size-hints, r=SimonSapin
Implement some trivial size_hints for various iterators

This also implements ExactSizeIterator where applicable.

Addresses most of the Iterator traits mentioned in #23708.

I intend to do more, but I don't want to make the PR too large.
2018-03-31 06:40:56 +00:00
bors
dca14701a5 Auto merge of #49313 - sgrif:sg-revert-stuff, r=nikomatsakis
Remove universes from `ty::ParamEnv`

This change was never meant to land. #48407 takes an alternate approach. However, that PR is now blocked on some issues with canonicalization, and rebasing these reverts gets harder each time, so let's just get this bit out of the way now.

r? @nikomatsakis
2018-03-29 05:44:40 +00:00
Wesley Wiser
49fd71bea7 [incremental] Don't panic if decoding the cache fails
If the cached data can't be loaded from disk, just issue a warning to
the user so they know why compilation is taking longer than usual but
don't fail the entire compilation since we can recover by ignorning the
on disk cache.

In the same way, if the disk cache can't be deserialized (because it has
been corrupted for some reason), report the issue as a warning and
continue without failing the compilation. `Decodable::decode()` tends to
panic with various errors like "entered unreachable code" or "index out
of range" if the input data is corrupted. Work around this by catching
panics from the `decode()` calls when joining the thread and continuing
without the cached data.

Fixes #48847
2018-03-28 08:30:09 -04:00
kennytm
9c5f372a9a
Rollup merge of #49046 - Zoxc:error-summary, r=michaelwoerister
Always print `aborting due to n previous error(s)`

r? @michaelwoerister
2018-03-25 01:26:24 +08:00
Sean Griffin
8128ae3d39 Revert "fix tests in librustc_driver"
This reverts commit 17df455c2e.
2018-03-23 13:18:50 -06:00
Kurtis Nusbaum
3c8d555497 rename epoch to edition 2018-03-20 10:27:02 -07:00
Tatsuyuki Ishi
8c8a72f822 Reinit the stack guard on unexpected failure 2018-03-20 21:15:21 +09:00
Phlosioneer
619003d1d4 Implement some trivial size_hints for various iterators
This also implements ExactSizeIterator where applicable.

Addresses most of the Iterator traits mentioned in #23708.
2018-03-20 05:33:59 -04:00
kennytm
7bc9fe3250
Rollup merge of #49092 - mark-i-m:deptrack_readme, r=nikomatsakis
Replace many of the last references to readmes

In particular, this removes the dep track readme, so it should not be merged before https://github.com/rust-lang-nursery/rustc-guide/pull/92

Fix #47935

cc #48478

r? @nikomatsakis
2018-03-20 07:15:19 +08:00
Tatsuyuki Ishi
a185b56b7c Address review comments 2018-03-19 11:41:28 +09:00
Tatsuyuki Ishi
1bb89f1b3c rustc_driver: get rid of extra thread on Windows 2018-03-18 23:05:28 +09:00
Tatsuyuki Ishi
e85c9227c2 rustc_driver: get rid of extra thread on Unix 2018-03-18 23:05:28 +09:00
bors
7c396ebd0b Auto merge of #48985 - scalexm:lowering, r=nikomatsakis
MVP for chalkification

r? @nikomatsakis
2018-03-18 07:35:43 +00:00