Commit Graph

258 Commits

Author SHA1 Message Date
John Kåre Alsaker
cf3b7909fa Make recursion_limit and type_length_limit thread-safe 2018-04-10 14:39:57 +02:00
John Kåre Alsaker
49a2b80877 Make sure the lint store is only used on one thread 2018-04-10 14:39:33 +02:00
Philipp Oppermann
3908b2e443 Introduce a TargetTriple enum to support absolute target paths 2018-03-26 18:57:23 +02:00
Kurtis Nusbaum
3c8d555497 rename epoch to edition 2018-03-20 10:27:02 -07:00
Niko Matsakis
211d9ad7db introduce tcx.normalize_erasing_regions(..) operaton [VIC] 2018-03-13 11:22:07 -04:00
Niko Matsakis
3a50b41da4 introduce infcx.at(..).normalize(..) operation [VIC]
It is backed by the new `normalize_projection_ty` query, which uses
canonicalization.
2018-03-13 11:22:05 -04:00
Niko Matsakis
993c1488cc add canonicalize method to InferCtxt [VIC] 2018-03-13 11:21:31 -04:00
John Kåre Alsaker
184fd32a03 Move PROFQ_CHAN to a Session field 2018-03-09 08:04:31 +01:00
Manish Goregaokar
4338bd178d Move epochs to libsyntax 2018-03-08 17:10:03 -08:00
Manish Goregaokar
d7f44ac52c
Rollup merge of #48682 - spastorino:make_causal_lazy, r=nikomatsakis
[NLL] Make causal tracking lazy

Close #46590

cc @nikomatsakis
2018-03-08 11:25:56 -08:00
Oliver Schneider
134c2910ec
Const eval will oom together with rustc now 2018-03-08 08:34:18 +01:00
Oliver Schneider
65ed591197
Move the resource limits to the session in preparation for attributes configuring them 2018-03-08 08:34:15 +01:00
Santiago Pastorino
52a47d4c02
Run rustfmt over modified files 2018-03-06 18:03:09 -03:00
Santiago Pastorino
ec761903ec
Remove nll-dump-cause flag and always track causes 2018-03-06 10:34:46 -03:00
Michael Woerister
93625f12e0 Fix some merge fallout. 2018-03-05 11:05:01 +01:00
Michael Woerister
542bc75dea Turn features() into a query. 2018-03-05 11:05:01 +01:00
Manish Goregaokar
69c53ac904 Run Rustfix on librustc 2018-03-02 21:02:34 -08:00
John Kåre Alsaker
b74e97cf42 Replace Rc with Lrc for shared data 2018-03-02 10:48:52 +01:00
Manish Goregaokar
f57835b7f4
Rollup merge of #48461 - Manishearth:epoch-dyn-trait, r=nmatsakis
Fixes #47311.
r? @nrc
2018-02-28 15:09:29 -08:00
Vadim Petrochenkov
9f9183d34d Fix rebase 2018-02-26 21:20:31 +03:00
Vadim Petrochenkov
cdbd8c2f2a Support flag -Z ui-testing for tweaking diagnostic output for UI tests 2018-02-26 20:24:00 +03:00
Manish Goregaokar
bd29696218 Add ability for hardwired lints to operate on the diagnostic builder 2018-02-23 08:24:49 -08:00
Manish Goregaokar
da9dc0507b Allow future-incompat lints to mention an epoch 2018-02-23 08:24:07 -08:00
Manish Goregaokar
2cff123416 Add -Zepoch 2018-02-05 22:16:42 -05:00
bors
26792f0607 Auto merge of #47540 - Manishearth:suggestion, r=nrc
Add approximate suggestions for rustfix

This adds `span_approximate_suggestion()` that lets you emit a
suggestion marked as "non-machine applicable" in the JSON output. UI
users see no difference. This is for when rustc and clippy wish to
 emit suggestions which will make sense to the reader (e.g. they may
have placeholders like `<type>`) but are not source-applicable, so that
rustfix/etc can ignore these.

fixes #39254
2018-02-01 04:47:46 +00:00
Esteban Küber
08287c1e26 Toggle span highlighting on -Zteach 2018-01-29 08:59:15 -08:00
Manish Goregaokar
a53bdc6212 Add -Zapproximate-suggestions 2018-01-29 11:41:02 +05:30
Alex Crichton
6da912e2a1 Merge branch 'explain' of https://github.com/estebank/rust into rollup 2018-01-26 06:50:31 -08:00
Alex Crichton
95942155da Merge branch 'no-stderr-sink' of https://github.com/Zoxc/rust into rollup 2018-01-26 06:49:55 -08:00
John Kåre Alsaker
9a8d6b8bb5 Do not capture stderr in the compiler. Instead just panic silently for fatal errors 2018-01-26 04:52:30 +01:00
Alex Crichton
8bde2acfc7 rustc: Add -C lto=val option
This commit primarily adds the ability to control what kind of LTO happens when
rustc performs LTO, namely allowing values to be specified to the `-C lto`
option, such as `-C lto=thin` and `-C lto=fat`. (where "fat" is the previous
kind of LTO, throw everything in one giant module)

Along the way this also refactors a number of fields which store information
about whether LTO/ThinLTO are enabled to unify them all into one field through
which everything is dispatched, hopefully removing a number of special cases
throughout.

This is intended to help mitigate #47409 but will require a backport as well,
and this would unfortunately need to be an otherwise insta-stable option.
2018-01-23 14:13:47 -08:00
Esteban Küber
482f7f1978 Rename -Z explain to -Z teach 2018-01-23 11:34:57 -08:00
Esteban Küber
3dac0f5a9c Create StructuredDiagnostic
Create the concept of an `StructuredDiagnostic` that is self-contained
with enough knowledge of all variables to create a `DiagnosticBuilder`,
including different possible versions (one line output and expanded
explanations).
2018-01-23 11:01:38 -08:00
John Kåre Alsaker
643e71e2e1 Remove the IGNORED_ATTR_NAMES thread local 2018-01-21 14:13:39 +01:00
Michael Woerister
8756ef6385 Don't include DefIndex in plugin- and proc-macro registrar fn symbol. 2018-01-16 17:30:11 +01:00
bors
ca092937aa Auto merge of #47181 - michaelwoerister:var-len-def-index, r=eddyb
Use DefIndex encoding that works better with on-disk variable length integer representations.

Use the least instead of the most significant bit for representing the address space.

r? @eddyb
2018-01-13 09:11:59 +00:00
Michael Woerister
c9d25e3269 Use different DefIndex representation that is better suited for variable length integer encodings. 2018-01-08 14:15:17 +01:00
kennytm
f6125846b6 Rollup merge of #47220 - nagisa:nonamellvm, r=rkruppe
Use name-discarding LLVM context

This is only applicable when neither of --emit=llvm-ir or --emit=llvm-bc are not
requested.

In case either of these outputs are wanted, but the benefits of such context are
desired as well, -Zfewer_names option provides the same functionality regardless
of the outputs requested.

Should be a viable fix for https://github.com/rust-lang/rust/issues/46449
2018-01-07 02:36:06 +08:00
Alex Crichton
fcdca7f2da rustc: Don't ICE if we invalidate an invalid incr dir
This showed up on the Windows bot for testing this PR, and this pr allows
`mark_incr_comp_session_as_invalid` ok if it's already invalid, hopefully
avoiding scary ICEs and instead leaving the nicely printed errors
2018-01-05 10:51:29 -08:00
Simonas Kazlauskas
b719578f48 Use name-discarding LLVM context
This is only applicable when neither of --emit=llvm-ir or --emit=llvm-bc are not
requested.

In case either of these outputs are wanted, but the benefits of such context are
desired as well, -Zfewer_names option provides the same functionality regardless
of the outputs requested.
2018-01-05 19:08:44 +02:00
bors
ae65dcc30f Auto merge of #46910 - alexcrichton:thinlto-default, r=michaelwoerister
rustc: Set release mode cgus to 16 by default

This commit is the next attempt to enable multiple codegen units by default in
release mode, getting some of those sweet, sweet parallelism wins by running
codegen in parallel. Performance should not be lost due to ThinLTO being on by
default as well.

Closes #45320
2017-12-25 02:14:35 +00:00
Alex Crichton
b5361d0d41 rustc: Set release mode cgus to 16 by default
This commit is the next attempt to enable multiple codegen units by default in
release mode, getting some of those sweet, sweet parallelism wins by running
codegen in parallel. Performance should not be lost due to ThinLTO being on by
default as well.

Closes #45320
2017-12-23 16:04:15 -08:00
John Kåre Alsaker
aa6065bd70 Add a -Z query-threads compiler option 2017-12-21 19:21:40 +01:00
Niko Matsakis
cfa4ffa374 document and tweak the nll, use_mir, etc helpers
In particular, -Znll might as well imply -Zborrowck=mir by default,
just like `#![feature(nll)]` does.

Also, if NLL is in use, no reason to emit end regions. The NLL pass
just strips them out anyway.
2017-12-20 14:38:13 -05:00
Santiago Pastorino
e980fb8bef feature nll implies borrowck=mir 2017-12-20 14:38:13 -05:00
Santiago Pastorino
2019d69f61 feature nll implies two-phase-borrows 2017-12-20 14:38:13 -05:00
Santiago Pastorino
0b2db1e616 Add nll feature and make nll imply nll_dump_cause 2017-12-20 14:38:12 -05:00
Santiago Pastorino
95b6148e31 Add nll_dump_cause helper to Session 2017-12-20 14:38:12 -05:00
Steve Klabnik
e59f65c36e Rollup merge of #46728 - varkor:contrib-4, r=michaelwoerister
Fix division-by-zero ICE in -Z perf-stats

An invalid average now simply prints “N/A”. Fixes #46725.
2017-12-15 09:27:02 -05:00
varkor
7b5981aad4 Fix division-by-zero ICE in -Z perf-stats
An invalid average now simply prints “N/A”. Fixes #46725.
2017-12-14 14:19:57 +00:00