Alex Crichton
e983b4f64e
rustc: Implement incremental "fat" LTO
...
Currently the compiler will produce an error if both incremental
compilation and full fat LTO is requested. With recent changes and the
advent of incremental ThinLTO, however, all the hard work is already
done for us and it's actually not too bad to remove this error!
This commit updates the codegen backend to allow incremental full fat
LTO. The semantics are that the input modules to LTO are all produce
incrementally, but the final LTO step is always done unconditionally
regardless of whether the inputs changed or not. The only real
incremental win we could have here is if zero of the input modules
changed, but that's so rare it's unlikely to be worthwhile to implement
such a code path.
cc #57968
cc rust-lang/cargo#6643
2019-02-12 04:58:31 -08:00
bors
c84e797642
Auto merge of #58098 - oli-obk:maybe_allow_internal_unstable, r=petrochenkov
...
Require a list of features in `#[allow_internal_unstable]`
The blanket-permission slip is not great and will likely give us trouble some point down the road.
2019-02-12 12:10:10 +00:00
Simon Sapin
eb158f9350
Add doctests for str::escape_*
2019-02-12 09:55:30 +01:00
Simon Sapin
114593d638
Make the prema-unstable char::escape_debug_ext method crate-private
2019-02-12 09:55:30 +01:00
Simon Sapin
92cce78d06
Move str::escape_* to libcore
2019-02-12 09:55:30 +01:00
Simon Sapin
55216f82a6
Stabilize str::escape_* methods
...
FCP: https://github.com/rust-lang/rust/issues/27791#issuecomment-376864727
2019-02-12 09:55:29 +01:00
Simon Sapin
7a077804a3
New return types for str::escape_* that impl Display and Iterator<char>
...
As FCP’ed in the tracking issue: https://github.com/rust-lang/rust/issues/27791#issuecomment-376864727
2019-02-12 09:55:20 +01:00
Simon Sapin
92dcae4742
Add internal impl_fn_for_zst macro for "named closure types"
2019-02-12 09:55:20 +01:00
king6cong
b284c8d608
Doc rewording
2019-02-12 16:45:19 +08:00
bors
a54b5c7a64
Auto merge of #57388 - euclio:runmake-explicit-ignore, r=kennytm
...
use ignore directives for run-make tests
This makes the tests easier to read, and makes it possible to tell which
tests aren't being run on the host platform.
Fixes #56704 .
2019-02-12 08:19:35 +00:00
bors
75f9159009
Auto merge of #58389 - Centril:rollup, r=Centril
...
Rollup of 11 pull requests
Successful merges:
- #58105 (libarena => 2018)
- #58111 (libterm => 2018)
- #58287 (rustc-std-workspace-core => 2018)
- #58288 (rustc-workspace-hack => 2018)
- #58300 (librustc_typeck => 2018)
- #58313 (Use `?` in librustc macros)
- #58318 (libserialize => 2018)
- #58322 (librustc_codegen_ssa => 2018)
- #58342 (Revert removed #![feature(nll)])
- #58367 (Remove two dead functions.)
- #58382 (docs: remove "experimental" wording from std::os::unix)
Failed merges:
r? @ghost
2019-02-12 05:50:26 +00:00
John Kåre Alsaker
ddb6c4f899
Set the query in the ImplicitCtxt before trying to mark it green
2019-02-12 05:48:39 +01:00
Mazdak Farrokhzad
33d2c9f533
Rollup merge of #58382 - euclio:unix-ext, r=dtolnay
...
docs: remove "experimental" wording from std::os::unix
2019-02-12 04:42:29 +01:00
Mazdak Farrokhzad
5dc571270e
Rollup merge of #58367 - nnethercote:rm-two-dead-funcs, r=alexcrichton
...
Remove two dead functions.
2019-02-12 04:42:28 +01:00
Mazdak Farrokhzad
f04d0852f5
Rollup merge of #58342 - taiki-e:nll, r=matthewjasper
...
Revert removed #![feature(nll)]
In PRs related to #58099 , `#![feature(nll)]` was removed from several crates.
This PR reverts it.
Related: https://github.com/rust-lang/rust/pull/58265#discussion_r255021244
cc @Centril
r? @matthewjasper
2019-02-12 04:42:26 +01:00
Mazdak Farrokhzad
4f2d0cfe3b
Rollup merge of #58322 - taiki-e:librustc_codegen_ssa-2018, r=petrochenkov
...
librustc_codegen_ssa => 2018
Transitions `librustc_codegen_ssa` to Rust 2018; cc #58099
r? @petrochenkov
2019-02-12 04:42:25 +01:00
Mazdak Farrokhzad
308c07bc3b
Rollup merge of #58318 - taiki-e:libserialize-2018, r=Centril
...
libserialize => 2018
Transitions `libserialize` to Rust 2018; cc #58099
This includes a commit from #58252 (thanks @h-michael!)
r? @Centril
2019-02-12 04:42:24 +01:00
Mazdak Farrokhzad
d9434531db
Rollup merge of #58313 - matthewjasper:use-question-in-macros, r=oli-obk
...
Use `?` in librustc macros
2019-02-12 04:42:23 +01:00
Mazdak Farrokhzad
a84c93324c
Rollup merge of #58300 - taiki-e:librustc_typeck-2018, r=petrochenkov
...
librustc_typeck => 2018
Transitions `librustc_typeck` to Rust 2018; cc #58099
TODO: elided_lifetimes_in_paths
r? @Centril
2019-02-12 04:42:21 +01:00
Mazdak Farrokhzad
b8fe6f9d43
Rollup merge of #58288 - taiki-e:rustc-workspace-hack-2018, r=alexcrichton
...
rustc-workspace-hack => 2018
Transitions `rustc-workspace-hack` to Rust 2018; cc #58099
r? @alexcrichton
2019-02-12 04:42:20 +01:00
Mazdak Farrokhzad
95ffa78784
Rollup merge of #58287 - taiki-e:rustc-std-workspace-core-2018, r=alexcrichton
...
rustc-std-workspace-core => 2018
Transitions `rustc-std-workspace-core` to Rust 2018; cc #58099
r? @alexcrichton
2019-02-12 04:42:19 +01:00
Mazdak Farrokhzad
3ca1b70dea
Rollup merge of #58111 - Centril:libterm-2018, r=oli-obk
...
libterm => 2018
Transitions `libterm` to Rust 2018; cc #58099
r? @oli-obk
2019-02-12 04:42:18 +01:00
Mazdak Farrokhzad
3dbb31e3d6
Rollup merge of #58105 - Centril:libarena-trans-2018, r=oli-obk
...
libarena => 2018
Transitions `libarena` to Rust 2018; cc https://github.com/rust-lang/rust/issues/58099
r? @oli-obk
2019-02-12 04:42:16 +01:00
bors
ba2853b6d3
Auto merge of #58246 - pmccarter:master, r=oli-obk
...
Make `saturating_add` and `saturating_sub` `const` functions
Fixes #58030
2019-02-12 03:20:16 +00:00
Alexander Regueiro
aafbf742c2
Disallow auto
trait alias syntax.
2019-02-12 01:50:33 +00:00
bors
16ca0b9f63
Auto merge of #58180 - davidtwco:issue-58053, r=estebank
...
Fix span for closure return type when annotated.
Fixes #58053 .
This PR adjusts the span used to label closure return types so that
if the user specifies the return type, i.e. `|_| -> X {}` instead of
`|_| {}`, we correctly highlight all of it and not just the last
character.
r? @pnkfelix
2019-02-12 00:44:24 +00:00
Mazdak Farrokhzad
0ce5129d05
libterm => 2018
2019-02-12 00:08:08 +01:00
Wesley Wiser
e9ebc2e956
[self-profiler] Misc cleanups
2019-02-11 18:01:37 -05:00
Wesley Wiser
8170828cb9
Capture time spent blocked waiting on queries
...
This captures time spent blocked when a query is waiting for another
query to finish executing in another thread.
2019-02-11 18:01:33 -05:00
Wesley Wiser
ae044ee893
Add self profiler events for loading incremental query results from disk
2019-02-11 18:00:46 -05:00
Mazdak Farrokhzad
f996e2b6dc
libarena => 2018
2019-02-11 23:49:48 +01:00
Andy Russell
f15d20c1f7
use ignore directives for run-make tests
...
This makes the tests easier to read, and makes it possible to tell which
tests aren't being run on the host platform.
Fixes #56704 .
2019-02-11 17:02:06 -05:00
Andy Russell
34052a19a2
remove "experimental" wording from std::os::unix
2019-02-11 15:36:45 -05:00
Esteban Küber
87dd2e1df9
Use hidden suggestions for unused imports lint
2019-02-11 11:16:22 -08:00
David Wood
48b0c9da69
Only suggest imports if not imported.
...
This commit modifies name resolution error reporting so that if a name
is in scope and has been imported then we do not suggest importing it.
This can occur when we add a label about constructors not being visible
due to private fields. In these cases, we know that the struct/variant
has been imported and we should silence any suggestions to import the
struct/variant.
2019-02-11 19:29:10 +01:00
Esteban Küber
235523c7d4
Add way to completely hide suggestion from cli output
2019-02-11 10:01:40 -08:00
Esteban Küber
7cfba1c5e8
Never inline HideCodeAlways suggestions
2019-02-11 10:01:40 -08:00
Esteban Küber
6ea159ea7e
Expose hidden snippet suggestions
2019-02-11 10:01:40 -08:00
Esteban Küber
05b4e7c8a9
Add way to hide suggestion snippet window from cli output
2019-02-11 10:01:40 -08:00
Patrick McCarter
b04d8aa774
rename variable and add test directive for #58030
2019-02-11 11:20:50 -05:00
Oliver Scherer
bbe524d7c1
Parallel rustc needs synchronizing smart pointer cloning
2019-02-11 15:09:05 +01:00
Oliver Scherer
b0cf52f6a5
Allow platform specific tests
2019-02-11 15:08:17 +01:00
Oliver Scherer
b681433b9d
Use Rc<[Symbol]>
instead of Vec<Symbol>
to reduce # of allocs
2019-02-11 15:08:17 +01:00
Oliver Scherer
1dba7cb202
Fiddle through the module visibilities for tests
2019-02-11 15:08:17 +01:00
Oliver Scherer
a83e73dce4
Move out tests of a deprecated module to work around #[test]
bugs
...
https://github.com/rust-lang/rust/issues/47238
2019-02-11 15:08:17 +01:00
Oliver Scherer
4cfc2ce46d
Use allow_internal_unstable
in rustc itself
2019-02-11 15:08:17 +01:00
Oliver Scherer
36e7424b86
Update fulldeps test
2019-02-11 15:08:17 +01:00
Oliver Scherer
da8352cee4
Fixup RustcDeserialize internal features
2019-02-11 15:08:17 +01:00
Oliver Scherer
19208367d4
Use a more fitting name for a respanning function
2019-02-11 15:08:17 +01:00
Oliver Scherer
0b3d8de2a0
Consistent attribute argument suggestion
2019-02-11 15:08:17 +01:00