90334 Commits

Author SHA1 Message Date
ljedrz
77fa041fc1 hir: remove NodeId from Item 2019-03-02 07:48:52 +01:00
ljedrz
3c25193f3f hir: remove NodeId from ForeignItem 2019-03-02 07:48:52 +01:00
ljedrz
ae45f170ee hir: remove NodeId from StructField 2019-03-02 07:48:52 +01:00
ljedrz
7e277d96fe middle & privacy: partially HirIdify 2019-03-02 07:48:52 +01:00
bors
d987b46bd7 Auto merge of - Zoxc:jobserver, r=nikomatsakis
Add support for using a jobserver with Rayon

The Rayon changes are here: https://github.com/Zoxc/rayon/pull/2

cc @alexcrichton
r? @nikomatsakis
2019-03-02 01:44:55 +00:00
bors
f3730f9b87 Auto merge of - ehuss:update-books, r=Centril
Update edition-guide

15 commits in 419edb885ec1a98c0747b3907003d79e3e6b93a9..5f3cc2a5618700efcde3bc00799744f21fa9ad2e
2018-12-04 16:43:38 -0500 to 2019-02-27 20:11:50 -0800
- Migrate to mdbook 0.2. ()
- Remove automatic deployment. ()
- Fix issue with rust's linkchecker and mdbook. ()
- Fix test now that overflowing_literals is rejected in all editions. ()
- overflowing_literals is deny on all editions ()
- Update for uniform_path stabilization. ()
- Add example to rustup to show overriding to specific version ()
- Update for anonymous-lifetime stabilization. ()
- Add minimum Rust version for Kleene operator ()
- Add 2018-specific changes. ()
- aborting-on-panic.md: Typo in example config ()
- Clarify uniform paths are not yet in Rust 2018 ()
- update several version numbers
- Fixes outdated link ()
- Fixed typo in transitioning page. ()
2019-03-01 22:12:27 +00:00
bors
c1d2d83ca3 Auto merge of - ljedrz:I_hate_NodeIds, r=Zoxc
Remove NodeId from more HIR nodes

The next iteration of HirIdification ().

Removes `NodeId` from:

- [x] `Stmt`
- [x] `Local`
- [x] `Field`
- [x] `AnonConst`
- [x] `TraitItem`
- [x] `ImplItem`
- [x] `TypeBinding`
- [x] `Arg`
- [x] `TraitRef`
- [x] `VisibilityKind`

It will most probably break clippy again; I'd appreciate a **delegate** again if/when it is good to go so I can attach a clippy fix later.

r? @Zoxc
2019-03-01 15:36:13 +00:00
ljedrz
9cd1845908 hir: remove NodeId from VisibilityKind 2019-03-01 11:18:50 +01:00
ljedrz
01cf66bb30 hir: remove NodeId from TraitRef 2019-03-01 11:18:50 +01:00
ljedrz
aa6a9c3f41 hir: remove NodeId from Arg 2019-03-01 11:18:49 +01:00
ljedrz
2827f8d4fe hir: remove NodeId from TypeBinding 2019-03-01 11:18:49 +01:00
ljedrz
a29ceb9f51 hir: remove NodeId from ImplItem 2019-03-01 11:18:49 +01:00
ljedrz
c2e517e0c4 ty: HirIdify some lints 2019-03-01 11:18:49 +01:00
ljedrz
e72584c3a1 hir: remove NodeId from TraitItem 2019-03-01 11:18:49 +01:00
ljedrz
43294c6c8c middle: HirIdify dead 2019-03-01 11:18:48 +01:00
ljedrz
4543fc243e hir: remove NodeId from AnonConst 2019-03-01 11:18:48 +01:00
ljedrz
d959f443fb hir: remove NodeId from Field 2019-03-01 11:18:48 +01:00
ljedrz
70d3b290e2 hir: remove NodeId from Local 2019-03-01 11:18:48 +01:00
ljedrz
341b023986 hir: remove NodeId from Stmt 2019-03-01 11:18:47 +01:00
bors
17add2498f Auto merge of - spastorino:place2_1, r=oli-obk
Put Local, Static and Promoted as one Base variant of Place

Related to 

The `Place` 2.0 representation use a `Base` variant for `Local`, `Static` and `Promoted` so we start making this change in the current `Place` to make the following steps simpler.

r? @oli-obk
2019-03-01 10:00:17 +00:00
bors
7b4f8f969c Auto merge of - memoryruins:exclude_should_panic, r=oli-obk
Add unstable option to ignore should_panic tests

Add an unstable option `--exclude-should-panic` to libtest to workaround https://github.com/rust-lang/miri/issues/636

?r @oli-obk
cc @RalfJung
2019-03-01 05:17:14 +00:00
Santiago Pastorino
0f993d5a7a Put Local, Static and Promoted as one Base variant of Place 2019-03-01 05:02:00 +01:00
bors
20cfc9deb5 Auto merge of - alexcrichton:update-llvm, r=michaelwoerister
rustc: Update LLVM, remove dead wasm code

This commit updates the LLVM branch to the rebased version of the
upstream release/8.x branch. This includes a wasm patch which means that
the `rewrite_imports` pass in rustc is no longer needed (yay!) and we
can instead rely on `wasm-import-module`, an attribute we're already
emitting, to take care of all the work.
2019-03-01 01:22:15 +00:00
John Kåre Alsaker
5c78fa836d Update Cargo.lock 2019-03-01 01:30:52 +01:00
John Kåre Alsaker
42d817f3e7 Fix import 2019-03-01 01:15:39 +01:00
John Kåre Alsaker
35a1b91c4b Address comments 2019-03-01 01:15:38 +01:00
John Kåre Alsaker
892fed9d08 Add support for using a jobserver with Rayon 2019-03-01 01:15:37 +01:00
bors
350674b718 Auto merge of - Zoxc:rustc-interface-1, r=oli-obk
Introduce rustc_interface and move some methods there

Split out from https://github.com/rust-lang/rust/pull/56732

r? @oli-obk
2019-02-28 21:02:12 +00:00
John Kåre Alsaker
23a51f91c9 Introduce rustc_interface and move some methods there 2019-02-28 19:30:31 +01:00
bors
1999a22881 Auto merge of - dlrobertson:varargs1, r=alexreg
Support defining C compatible variadic functions

## Summary

Add support for defining C compatible variadic functions in unsafe rust with
`extern "C"` according to [RFC 2137].

## Details

### Parsing
When parsing a user defined function that is `unsafe` and `extern "C"` allow
variadic signatures and inject a "spoofed" `VaList` in the new functions
signature. This allows the user to interact with the variadic arguments via a
`VaList` instead of manually using `va_start` and `va_end` (See [RFC 2137] for
details).

### Codegen

When running codegen for a variadic function, remove the "spoofed" `VaList`
from the function signature and inject `va_start` when the arg local
references are created for the function and `va_end` on return.

## TODO

 - [x] Get feedback on injecting `va_start/va_end` in MIR vs codegen
 - [x] Properly inject `va_end` - It seems like it should be possible to inject
       `va_end` on the `TerminatorKind::Return`. I just need to figure out how
       to get the `LocalRef` here.
 - [x] Properly call Rust defined C variadic functions in Rust - The spoofed
       `VaList` causes problems here.

Related to: 

r? @ghost

[RFC 2137]: https://github.com/rust-lang/rfcs/blob/master/text/2137-variadic.md
2019-02-28 15:00:25 +00:00
bors
190feb6529 Auto merge of - taiki-e:libstd-2018, r=Centril
libstd => 2018

Transitions `libstd` to Rust 2018; cc 

r? @Centril
2019-02-28 11:38:40 +00:00
Eric Huss
3aca176fb2 Update edition-guide 2019-02-27 21:09:10 -08:00
Taiki Endo
aad9e29f52 Fix rebase fail 2019-02-28 04:06:17 +09:00
Taiki Endo
90dbf59b92 Fix some imports and paths 2019-02-28 04:06:17 +09:00
Taiki Endo
9d691bd9ce Fix error in tag-that-dare-not-speak-its-name 2019-02-28 04:06:16 +09:00
Taiki Endo
2af18a2b38 Fix errors in test/ui 2019-02-28 04:06:16 +09:00
Taiki Endo
2c783c3543 Revert removed #![feature(nll)] 2019-02-28 04:06:16 +09:00
Taiki Endo
0749a04fb6 Fix #[macro_use] extern crate in sys/cloudabi 2019-02-28 04:06:15 +09:00
Taiki Endo
93b6d9e086 libstd => 2018 2019-02-28 04:06:15 +09:00
Alex Crichton
320640060f Whitelist containers that allow older toolchains
We'll use this as a temporary measure to get an LLVM update landed, but
we'll have to go through and update images later to make sure they've
got the right toolchains.
2019-02-27 08:10:21 -08:00
bors
7e001e5c6c Auto merge of - Centril:rollup, r=Centril
Rollup of 14 pull requests

Successful merges:

 -  (Fix for issue  )
 -  (rustdoc: move collapse and unindent docs passes earlier)
 -  (Make `visit_clobber` panic-safe.)
 -  (Deny `async fn` in 2015 edition)
 -  (Fix an indexing error when using `x.py help`)
 -  (Fix copy-pasted typo for read_string return value)
 -  (Update dlmalloc to 0.1.3)
 -  (std: docs: Disable running several Stdio doctests)
 -  (update scoped_tls to 1.0)
 -  (Reduce Repetitions of (n << amt) >> amt)
 -  (Update string_cache_codegen to 0.4.2)
 -  (Clarify `rotate_{left,right}` docs)
 -  (Normalize the type Self resolves to in an impl)
 -  (Add tracking issue for the unwind attribute)

Failed merges:

r? @ghost
2019-02-27 15:54:48 +00:00
Dan Robertson
f7dd4389f8
Fix doc comments in librustc/hir/lowering.rs 2019-02-27 10:21:59 -05:00
Dan Robertson
08bd4ff998
Rename variadic to c_variadic
Function signatures with the `variadic` member set are actually
C-variadic functions. Make this a little more explicit by renaming the
`variadic` boolean value, `c_variadic`.
2019-02-27 10:21:54 -05:00
Dan Robertson
a618ad6335
Refactor FunctionCx::codgen_terminator
- Move closures defined in codegen_terminator into a separate helper
   structure and implementation.
 - Create helper functions for each of the complex match arms on the
   terminators kind in codegen_terminator.
2019-02-27 10:21:50 -05:00
Dan Robertson
1a6e9e2408
Add c_variadic to the unstable-book
- Add the c_variadic language feature
 - Add the c_variadic library feature
2019-02-27 10:21:45 -05:00
Dan Robertson
210c6071b0
Add c_variadic language feature item 2019-02-27 10:21:40 -05:00
Dan Robertson
58147d486b
Support defining C compatible variadic functions
Add support for defining C compatible variadic functions in unsafe rust
with extern "C".
2019-02-27 10:21:35 -05:00
Dan Robertson
cd56472cc4
Fix tidy check for language and library features 2019-02-27 10:21:28 -05:00
Mazdak Farrokhzad
1394b6f3a1
Rollup merge of - Mark-Simulacrum:add-feature-gate-unwind, r=Centril
Add tracking issue for the unwind attribute

cc https://github.com/rust-lang/rust/issues/58760
2019-02-27 13:32:37 +01:00
Mazdak Farrokhzad
5910271b91
Rollup merge of - aoikonomopoulos:issue-58212, r=oli-obk
Normalize the type Self resolves to in an impl

This is required at the very least in order to evaluate associated
constants for arrays.

Fixes 
Fixes .

r? @oli-obk
cc @hellow554
2019-02-27 13:32:36 +01:00